diff --git a/css-compiled/template.css b/css-compiled/template.css index b02fca3..e30419f 100644 --- a/css-compiled/template.css +++ b/css-compiled/template.css @@ -712,6 +712,12 @@ ul.pagination { margin: 0 0 3rem; text-align: center; } @media only all and (min-width: 48em) and (max-width: 59.938em) { .contact textarea { min-width: 90%; } } +.contact .dropzone { width: 80%; } + +@media only all and (max-width: 47.938em) { .contact .dropzone { min-width: 100%; } } + +@media only all and (min-width: 48em) and (max-width: 59.938em) { .contact .dropzone { min-width: 90%; } } + .contact input, .contact textarea { border: 0 none; background: rgba(128, 128, 128, 0.2); box-shadow: none; } .contact input:focus, .contact textarea:focus { border-radius: 0 !important; box-shadow: none; background: rgba(128, 128, 128, 0.11); } @@ -878,4 +884,4 @@ ul.pagination { margin: 0 0 3rem; text-align: center; } .keyboard:before { content: ""; position: absolute; height: 0.5rem; width: 23.13rem; margin: 0.4375rem 0 0 -0.625rem; z-index: -1; border-radius: 100%; } -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY3NzIiwic291cmNlcyI6WyJ0ZW1wbGF0ZS5zY3NzIiwidmVuZG9yL2JvdXJib24vX2JvdXJib24uc2NzcyIsInZlbmRvci9ib3VyYm9uL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwidmVuZG9yL2JvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19pcy1udW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fYXNzaWduLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2NvbG9yLWxpZ2h0bmVzcy5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19mbGV4LWdyaWQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fZ29sZGVuLXJhdGlvLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2dyaWQtd2lkdGguc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fdGludC1zaGFkZS5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm94LXNpemluZy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19rZXlmcmFtZXMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2xpbmVhci1ncmFkaWVudC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fYnV0dG9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19lbGxpcHNpcy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19mb250LWZhbWlseS5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9faHRtbDUtaW5wdXQtdHlwZXMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3NpemUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL190cmlhbmdsZS5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL193b3JkLXdyYXAuc2NzcyIsInZlbmRvci9ib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIsImNvbmZpZ3VyYXRpb24vbnVjbGV1cy9fYmFzZS5zY3NzIiwiY29uZmlndXJhdGlvbi9udWNsZXVzL19jb3JlLnNjc3MiLCJjb25maWd1cmF0aW9uL251Y2xldXMvX2JyZWFrcG9pbnRzLnNjc3MiLCJjb25maWd1cmF0aW9uL251Y2xldXMvX2xheW91dC5zY3NzIiwiY29uZmlndXJhdGlvbi9udWNsZXVzL190eXBvZ3JhcGh5LnNjc3MiLCJjb25maWd1cmF0aW9uL251Y2xldXMvX25hdi5zY3NzIiwiY29uZmlndXJhdGlvbi90ZW1wbGF0ZS9fYmFzZS5zY3NzIiwiY29uZmlndXJhdGlvbi90ZW1wbGF0ZS9fY29sb3JzLnNjc3MiLCJjb25maWd1cmF0aW9uL3RlbXBsYXRlL190eXBvZ3JhcGh5LnNjc3MiLCJjb25maWd1cmF0aW9uL3RlbXBsYXRlL19idWxsZXRzLnNjc3MiLCJjb25maWd1cmF0aW9uL3RlbXBsYXRlL192YXJpYWJsZXMuc2NzcyIsIm51Y2xldXMvZnVuY3Rpb25zL19iYXNlLnNjc3MiLCJudWNsZXVzL2Z1bmN0aW9ucy9fZGlyZWN0aW9uLnNjc3MiLCJudWNsZXVzL2Z1bmN0aW9ucy9fcmFuZ2Uuc2NzcyIsIm51Y2xldXMvZnVuY3Rpb25zL191dGlsaXRpZXMuc2NzcyIsIm51Y2xldXMvbWl4aW5zL19iYXNlLnNjc3MiLCJudWNsZXVzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIm51Y2xldXMvbWl4aW5zL19uYXYuc2NzcyIsIm51Y2xldXMvbWl4aW5zL190eXBvZ3JhcGh5LnNjc3MiLCJudWNsZXVzL21peGlucy9fdXRpbGl0aWVzLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGVzL19iYXNlLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGVzL19idXR0b25zLnNjc3MiLCJ0ZW1wbGF0ZS9fY29yZS5zY3NzIiwidGVtcGxhdGUvX2ZvbnRzLnNjc3MiLCJ0ZW1wbGF0ZS9fZXh0ZW5zaW9ucy5zY3NzIiwidGVtcGxhdGUvX2hlYWRlci5zY3NzIiwidGVtcGxhdGUvX2Zvb3Rlci5zY3NzIiwidGVtcGxhdGUvX3R5cG9ncmFwaHkuc2NzcyIsInRlbXBsYXRlL19mb3Jtcy5zY3NzIiwidGVtcGxhdGUvX3RhYmxlcy5zY3NzIiwidGVtcGxhdGUvX2J1dHRvbnMuc2NzcyIsInRlbXBsYXRlL19idWxsZXRzLnNjc3MiLCJ0ZW1wbGF0ZS9fcGFuZWwuc2NzcyIsInRlbXBsYXRlL19tb2RhbC5zY3NzIiwidGVtcGxhdGUvX2Jsb2cuc2NzcyIsInRlbXBsYXRlL19hcmNoaXZlLnNjc3MiLCJ0ZW1wbGF0ZS9fZXJyb3JzLnNjc3MiLCJ0ZW1wbGF0ZS9fc2ltcGxlc2VhcmNoLnNjc3MiLCJ0ZW1wbGF0ZS9fY3VzdG9tLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19hbGwuc2NzcyIsInRlbXBsYXRlL21vZHVsYXIvX3Nob3djYXNlLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19mZWF0dXJlcy5zY3NzIiwidGVtcGxhdGUvbW9kdWxhci9fYm90dG9tLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19jb250YWN0LnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL190ZXh0LnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL190ZWFtLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19wb3J0Zm9saW8uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBSRVFVSVJFRCBERVBFTkRFTkNJRVMgLSBETyBOT1QgQ0hBTkdFXG5cbi8vIExvYWQgVGhpcmQgUGFydHkgTGlicmFyaWVzXG5AaW1wb3J0IFwidmVuZG9yL2JvdXJib24vYm91cmJvblwiO1xuXG4vLyBMb2FkIE51Y2xldXMgQ29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ3VyYXRpb24vbnVjbGV1cy9iYXNlXCI7XG5cbi8vIExvYWQgVGVtcGxhdGUgQ29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ3VyYXRpb24vdGVtcGxhdGUvYmFzZVwiO1xuXG4vLyBMb2FkIE51Y2xldXMgTWl4aW5zIGFuZCBGdW5jdGlvbnNcbkBpbXBvcnQgXCJudWNsZXVzL2Z1bmN0aW9ucy9iYXNlXCI7XG5AaW1wb3J0IFwibnVjbGV1cy9taXhpbnMvYmFzZVwiO1xuXG4vLyBMb2FkIFRlbXBsYXRlIExpYnJhcnlcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9tb2R1bGVzL2Jhc2VcIjtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFRFTVBMQVRFIENPTVBPTkVOVFNcblxuLy8gQ29yZVxuQGltcG9ydCBcInRlbXBsYXRlL2NvcmVcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9mb250c1wiO1xuXG4vLyBFeHRlbnNpb25zXG5AaW1wb3J0IFwidGVtcGxhdGUvZXh0ZW5zaW9uc1wiO1xuXG4vLyBIZWFkZXJcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9oZWFkZXJcIjtcblxuLy8gRm9vdGVyXG5AaW1wb3J0IFwidGVtcGxhdGUvZm9vdGVyXCI7XG5cbi8vIFR5cG9ncmFwaHlcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS90eXBvZ3JhcGh5XCI7XG5cbi8vIEZvcm1zXG5AaW1wb3J0IFwidGVtcGxhdGUvZm9ybXNcIjtcblxuLy8gVGFibGVzXG5AaW1wb3J0IFwidGVtcGxhdGUvdGFibGVzXCI7XG5cbi8vIEJ1dHRvbnNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9idXR0b25zXCI7XG5cbi8vIEJ1bGxldHNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9idWxsZXRzXCI7XG5cbi8vIFB1c2h5IFBhbmVsXG5AaW1wb3J0IFwidGVtcGxhdGUvcGFuZWxcIjtcblxuLy8gTW9kYWwgd2luZG93XG5AaW1wb3J0IFwidGVtcGxhdGUvbW9kYWxcIjtcblxuLy8gQmxvZ1xuQGltcG9ydCBcInRlbXBsYXRlL2Jsb2dcIjtcblxuLy8gQXJjaGl2ZVxuQGltcG9ydCBcInRlbXBsYXRlL2FyY2hpdmVcIjtcblxuLy8gRXJyb3JzXG5AaW1wb3J0IFwidGVtcGxhdGUvZXJyb3JzXCI7XG5cbi8vIFNpbXBsZVNlYXJjaFxuQGltcG9ydCBcInRlbXBsYXRlL3NpbXBsZXNlYXJjaFwiO1xuXG4vLyBDdXN0b21cbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9jdXN0b21cIjtcblxuLy8gTW9kdWxhclxuQGltcG9ydCBcInRlbXBsYXRlL21vZHVsYXIvYWxsXCI7XG4iLCIvLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcblxuLy8gQ3VzdG9tIEhlbHBlcnNcbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2lzLW51bVwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG4vLyBDdXN0b20gRnVuY3Rpb25zXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnblwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvci1saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZmxleC1ncmlkXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2dvbGRlbi1yYXRpb1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9ncmlkLXdpZHRoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnQtc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuXG4vLyBDU1MzIE1peGluc1xuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XG5cbi8vIEFkZG9ucyAmIG90aGVyIG1peGluc1xuQGltcG9ydCBcImFkZG9ucy9idXR0b25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtZmFtaWx5XCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9odG1sNS1pbnB1dC10eXBlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG4vLyBTb29uIHRvIGJlIGRlcHJlY2F0ZWQgTWl4aW5zXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLCIvLyBWYXJpYWJsZSBzZXR0aW5ncyBmb3IgL2FkZG9ucy9wcmVmaXhlci5zY3NzXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7IC8vIHJlcXVpcmVkIGZvciBrZXlmcmFtZSBtaXhpblxuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6ICdweCcgJ2NtJyAnbW0nICclJyAnY2gnICdwaWNhJyAnaW4nICdlbScgJ3JlbScgJ3B0JyAncGMnICdleCcgJ3Z3JyAndmgnICd2bWluJyAndm1heCcsICdkZWcnLCAncmFkJywgJ2dyYWQnLCAndHVybic7XG4gICR1bml0czogICAxcHggIDFjbSAgMW1tICAxJSAgMWNoICAxcGljYSAgMWluICAxZW0gIDFyZW0gIDFwdCAgMXBjICAxZXggIDF2dyAgMXZoICAxdm1pbiAgMXZtYXgsICAxZGVnLCAgMXJhZCwgIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfaXMtbnVtKCRjaGFyKSB7XG4gICR2YWx1ZXM6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JyAwIDEgMiAzIDQgNSA2IDcgOCA5O1xuICAkaW5kZXg6IGluZGV4KCR2YWx1ZXMsICRjaGFyKTtcbiAgQHJldHVybiBpZigkaW5kZXgsIHRydWUsIGZhbHNlKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogX2lzLW51bShzdHItc2xpY2UoJGZpcnN0LXZhbCwgMCwgMCkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxICk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDAsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJEcxLCAkRzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJEcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkRzIge1xuICAgICAgICAgICAgJEcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSAnICAnKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCJcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JztcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICctJyB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdCA6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59IiwiLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmtcbi8vIFJldHVybnMgYSBib29sZWFuXG4vLyBNb3JlIGRldGFpbHMgaGVyZSBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEuMCkpO1xuXG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gLjY7XG59XG4iLCIvLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbi8vIFRoZSAkZmctY29sdW1uLCAkZmctZ3V0dGVyIGFuZCAkZmctbWF4LWNvbHVtbnMgdmFyaWFibGVzIG11c3QgYmUgZGVmaW5lZCBpbiB5b3VyIGJhc2Ugc3R5bGVzaGVldCB0byBwcm9wZXJseSB1c2UgdGhlIGZsZXgtZ3JpZCBmdW5jdGlvbi5cbi8vIFRoaXMgZnVuY3Rpb24gdGFrZXMgdGhlIGZsdWlkIGdyaWQgZXF1YXRpb24gKHRhcmdldCAvIGNvbnRleHQgPSByZXN1bHQpIGFuZCB1c2VzIGNvbHVtbnMgdG8gaGVscCBkZWZpbmUgZWFjaC5cbi8vXG4vLyBUaGUgY2FsY3VsYXRpb24gcHJlc3VtZXMgdGhhdCB5b3VyIGNvbHVtbiBzdHJ1Y3R1cmUgd2lsbCBiZSBtaXNzaW5nIHRoZSBsYXN0IGd1dHRlcjpcbi8vXG4vLyAgIC0tIGNvbHVtbiAtLSBndXR0ZXIgLS0gY29sdW1uIC0tIGd1dHRlciAtLSBjb2x1bW5cbi8vXG4vLyAgJGZnLWNvbHVtbjogNjBweDsgICAgICAgICAgICAgLy8gQ29sdW1uIFdpZHRoXG4vLyAgJGZnLWd1dHRlcjogMjVweDsgICAgICAgICAgICAgLy8gR3V0dGVyIFdpZHRoXG4vLyAgJGZnLW1heC1jb2x1bW5zOiAxMjsgICAgICAgICAgLy8gVG90YWwgQ29sdW1ucyBGb3IgTWFpbiBDb250YWluZXJcbi8vXG4vLyAgZGl2IHtcbi8vICAgIHdpZHRoOiBmbGV4LWdyaWQoNCk7ICAgICAgICAvLyByZXR1cm5zICgzMTVweCAvIDk5NXB4KSA9IDMxLjY1ODI5JTtcbi8vICAgIG1hcmdpbi1sZWZ0OiBmbGV4LWd1dHRlcigpOyAvLyByZXR1cm5zICgyNXB4IC8gOTk1cHgpID0gMi41MTI1NiU7XG4vL1xuLy8gICAgcCB7XG4vLyAgICAgIHdpZHRoOiBmbGV4LWdyaWQoMiwgNCk7ICAvLyByZXR1cm5zICgxNDVweCAvIDMxNXB4KSA9IDQ2LjAzMTc0NiU7XG4vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8gICAgICBtYXJnaW46IGZsZXgtZ3V0dGVyKDQpOyAgLy8gcmV0dXJucyAoMjVweCAvIDMxNXB4KSA9IDcuOTM2NTA4JTtcbi8vICAgIH1cbi8vXG4vLyAgICBibG9ja3F1b3RlIHtcbi8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLyAgICAgIHdpZHRoOiBmbGV4LWdyaWQoMiwgNCk7IC8vIHJldHVybnMgKDE0NXB4IC8gMzE1cHgpID0gNDYuMDMxNzQ2JTtcbi8vICAgIH1cbi8vICB9IiwiQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCR2YWx1ZSwgJGluY3JlbWVudCwgJGdvbGRlbilcbn1cbiIsIkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xufVxuXG4vLyBUaGUgJGd3LWNvbHVtbiBhbmQgJGd3LWd1dHRlciB2YXJpYWJsZXMgbXVzdCBiZSBkZWZpbmVkIGluIHlvdXIgYmFzZSBzdHlsZXNoZWV0IHRvIHByb3Blcmx5IHVzZSB0aGUgZ3JpZC13aWR0aCBmdW5jdGlvbi5cbi8vXG4vLyAgJGd3LWNvbHVtbjogMTAwcHg7ICAgICAgICAgLy8gQ29sdW1uIFdpZHRoXG4vLyAgJGd3LWd1dHRlcjogNDBweDsgICAgICAgICAgLy8gR3V0dGVyIFdpZHRoXG4vL1xuLy8gIGRpdiB7XG4vLyAgICB3aWR0aDogZ3JpZC13aWR0aCg0KTsgICAgLy8gcmV0dXJucyA1MjBweDtcbi8vICAgIG1hcmdpbi1sZWZ0OiAkZ3ctZ3V0dGVyOyAvLyByZXR1cm5zIDQwcHg7XG4vLyAgfVxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJHZhbHVlLCAkaW5jcmVtZW50LCAkcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XG59XG4iLCIvLyBTcnRpcHMgdGhlIHVuaXRzIGZyb20gYSB2YWx1ZS4gZS5nLiAxMnB4IC0+IDEyXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsKSB7XG4gIEByZXR1cm4gKCR2YWwgLyAoJHZhbCAqIDAgKyAxKSk7XG59XG4iLCIvLyBBZGQgcGVyY2VudGFnZSBvZiB3aGl0ZSB0byBhIGNvbG9yXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KXtcbiAgQHJldHVybiBtaXgod2hpdGUsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuXG4vLyBBZGQgcGVyY2VudGFnZSBvZiBibGFjayB0byBhIGNvbG9yXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KGJsYWNrLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuXHQkbmV3LXByb3BzOiAoKTtcblx0XG5cdEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG5cdFx0JG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcblx0fVxuXG5cdEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcblx0Ly8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG5cdEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuXHRcdEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuXHR9XG5cdEBlbHNlIHtcblx0XHRAcmV0dXJuICRwcm9wO1xuXHR9XG59IiwiLy8gQ29udmVydCBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4XG5cbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xuICB9XG4gIEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfVxuICBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcbiAgfVxufVxuXG4iLCIvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI3RoZS1hbmltYXRpb24tbmFtZS1wcm9wZXJ0eS1cbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXG5cbi8vIE9mZmljaWFsIGFuaW1hdGlvbiBzaG9ydGhhbmQgcHJvcGVydHkuXG5AbWl4aW4gYW5pbWF0aW9uICgkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBJbmRpdmlkdWFsIEFuaW1hdGlvbiBQcm9wZXJ0aWVzXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUgKCRuYW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24gKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiAoJG1vdGlvbnMuLi4pIHtcbi8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCAoJHZhbHVlcy4uLikge1xuLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uICgkZGlyZWN0aW9ucy4uLikge1xuLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSAoJHN0YXRlcy4uLikge1xuLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5ICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUgKCRtb2Rlcy4uLikge1xuLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gYXBwZWFyYW5jZSAoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2ZhY2UtdmlzaWJpbGl0eSBtaXhpblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcbi8vIG5vdGF0aW9uLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZCgkYmFja2dyb3VuZHMuLi4pIHtcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcblxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XG4gICAgJHNwZWMtYmFja2dyb3VuZDogKCk7XG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XG5cbiAgICBAaWYgJGJhY2tncm91bmQtdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICAgJHNwZWMtaW1hZ2U6ICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFNob3J0aGFuZCBCb3JkZXItcmFkaXVzIG1peGluc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItdG9wLWxlZnQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItdG9wLXJpZ2h0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci10b3AtcmlnaHQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cbiIsIkBtaXhpbiBib3gtc2l6aW5nICgkYm94KSB7XG4vLyAgY29udGVudC1ib3ggfCBib3JkZXItYm94IHwgaW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiAgICAgICAgIGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbi8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xuLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4vLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcbi8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4vLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuXG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcblxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XG4vLyBzaW5nbGV8bXVsdGlwbGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMC4wKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vICBmbGV4IHwgaW5saW5lLWZsZXhcbiAgICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAgICAgLy8gMjAwOVxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJveDtcblxuICAgICAgICAvLyAyMDEyXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6ICR2YWx1ZTtcbiAgICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAgIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcblxuICAgIC8vIDIwMDlcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTEgKElFIDEwKSwgMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSkgICAgICBcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gICAgLy8gQWx0IHZhbHVlcy5cbiAgICAkdmFsdWUtMjAwOTogJHZhbHVlO1xuICAgICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICAgJGRpcmVjdGlvbjogXCJub3JtYWxcIjtcblxuICAgIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAgICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAvLyAyMDA5XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJyZXZlcnNlXCIge1xuICAgICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMSAoSUUgMTApXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG5cbiAgICAvLyBBbHQgdmFsdWVzLlxuICAgICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgICAgICRhbHQtdmFsdWU6IHNpbmdsZTtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAgICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAgIC8vIDIwMDlcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTEgKElFIDEwKVxuICAgIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50ICgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAgIC8vIEFsdCB2YWx1ZXMuXG4gICAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICAgIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gMjAwOVxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gICAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICAgIH0gICAgXG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gICAgfVxuXG4gICAgLy8gMjAwOVxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG4gICAgXG4gICAgLy8gMjAxMSAoSUUgMTApXG4gICAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7ICAgIFxufVxuXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xuXG4gICAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICAgIH0gICAgXG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkdmFsdWUtMjAxMTogZW5kO1xuICAgIH1cblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICAgIH0gICAgXG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkdmFsdWUtMjAxMTogZW5kO1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICAgIH1cblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuXG4iLCIvLyBPcmRlciBvZiB0aGUgaW5jbHVkZXMgbWF0dGVycywgYW5kIGl0IGlzOiBub3JtYWwsIGJvbGQsIGl0YWxpYywgYm9sZCtpdGFsaWMuXG5cbkBtaXhpbiBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkZmlsZS1wYXRoLCAkd2VpZ2h0OiBub3JtYWwsICRzdHlsZTogbm9ybWFsLCAkYXNzZXQtcGlwZWxpbmU6IGZhbHNlICkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcblxuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICBzcmM6IGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LmVvdCcpO1xuICAgICAgc3JjOiBmb250LXVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgICAgICAgICAgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICBmb250LXVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgICAgICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgc3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90Jyk7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgICAgICAgICAgICAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgIHVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSAgICAgIGZvcm1hdCgnc3ZnJyk7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbi8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7cm91bmQoJHJhdGlvKjk2KX1kcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAjeyRyYXRpb31kcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkRzEsICRHMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRHMTA6ICRHOTsgJEc5OiAkRzg7ICRHODogJEc3OyAkRzc6ICRHNjsgJEc2OiAkRzU7XG4gICAgICRHNTogJEc0OyAkRzQ6ICRHMzsgJEczOiAkRzI7ICRHMjogJEcxOyAkRzE6ICRwb3M7XG4gICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkRzEsICRHMiwgJEczLCAkRzQsICRHNSwgJEc2LCAkRzcsICRHOCwgJEc5LCAkRzEwO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJEcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkRzEsICRHMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xuICAkRzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgJyN7JHNoYXBlLXNpemV9LCAnLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsICcjeyRwb3N9LCAnLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9ICcgJykgYW5kICgkcG9zID09IG51bGwpLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSwgJywgJyN7JHNoYXBlLXNpemUtc3BlY30gJyk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuLy8gIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4vLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbi8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSAoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uICgkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICAgICRtb3o6IGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgICAkc3BlYzogYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGxpc3RzIGZvciBub24tcHJlZml4ZWQgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogIGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5ICgkcHJvcGVydGllcy4uLikge1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnd2Via2l0Jyk7XG4gICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICdtb3onKTtcbiAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkYXJnOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkYXJnLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG5cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG5cbi8vIFNpbXBsZSBCdXR0b25cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG5cbi8vIFNoaW55IEJ1dHRvblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuXG4vLyBQaWxsIEJ1dHRvblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuXG5cbi8vIEZsYXQgQnV0dG9uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiA3cHggMThweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIvLyBNb2Rlcm4gbWljcm8gY2xlYXJmaXggcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY29udGFpbiBmbG9hdHMgd2l0aG91dCBhZGRpbmcgYWRkaXRpb25hbCBtYXJrdXAuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTpcbi8vXG4vLyAgICAvLyBDb250YWluIGFsbCBmbG9hdHMgd2l0aGluIC53cmFwcGVyXG4vLyAgICAud3JhcHBlciB7XG4vLyAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8gICAgICAuY29udGVudCxcbi8vICAgICAgLnNpZGViYXIge1xuLy8gICAgICAgIGZsb2F0IDogbGVmdDtcbi8vICAgICAgfVxuLy8gICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICB9XG59XG5cbi8vIEFja25vd2xlZGdlbWVudHNcbi8vIEJlYXQgKnRoYXQqIGNsZWFyZml4OiBbVGhpZXJyeSBLb2JsZW50el0oaHR0cDovL3d3dy5jc3MtMTAxLm9yZy9hcnRpY2xlcy9jbGVhcmZpeC9sYXRlc3QtbmV3LWNsZWFyZml4LXNvLWZhci5waHApXG4iLCIvLyBkaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHNcbi8vIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vL1xuLy8gQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vIC0tLS0tLVxuLy8gbWFyZ2luLXJpZ2h0OiAwO1xuLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vIG1hcmdpbi1sZWZ0OiAwO1xuLy9cbi8vIC0gb3IgLVxuLy9cbi8vIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLyAtLS0tLS1cbi8vIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vXG4vLyAtLS0tLS1cbi8vXG4vLyBOb3RlOiBZb3UgY2FuIGFsc28gdXNlIGZhbHNlIGluc3RlYWQgb2YgbnVsbFxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJEE6IG50aCggJHZhbHMsIDEgKTtcbiAgJEI6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMiwgJEEsIG50aCgkdmFscywgMikpO1xuICAkQzogaWYoIGxlbmd0aCgkdmFscykgPCAzLCAkQSwgbnRoKCR2YWxzLCAzKSk7XG4gICREOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDIsICRBLCBudGgoJHZhbHMsIGlmKCBsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkgKSk7XG5cbiAgQGlmICRBID09IDAgeyAkQTogMCB9XG4gIEBpZiAkQiA9PSAwIHsgJEI6IDAgfVxuICBAaWYgJEMgPT0gMCB7ICRDOiAwIH1cbiAgQGlmICREID09IDAgeyAkRDogMCB9XG5cbiAgQGlmICRBID09ICRCIGFuZCAkQSA9PSAkQyBhbmQgJEEgPT0gJEQgeyAkb3V0cHV0OiAkQSAgICAgICAgICB9XG4gIEBlbHNlIGlmICRBID09ICRDIGFuZCAkQiA9PSAkRCAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgICAgICAgfVxuICBAZWxzZSBpZiAkQiA9PSAkRCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICRDICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAkQyAkRCB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgLy8gcHJvcDogdG9wL2JvdHRvbSByaWdodC9sZWZ0XG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuXG4gICAgLy8gcHJvcDogdG9wIHJpZ2h0L2xlZnQgYm90dG9tXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cblxuICAgIC8vIHByb3A6IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuXG4gIC8vIHByb3A6IHRvcC9yaWdodC9ib3R0b20vbGVmdFxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIkZ2VvcmdpYTogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFRhaG9tYSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBDb25zb2xhcywgQ291cmllciwgbW9ub3NwYWNlO1xuJHZlcmRhbmE6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbiIsIkBtaXhpbiBoaWRlLXRleHQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gR2VuZXJhdGUgYSB2YXJpYWJsZSAoJGFsbC10ZXh0LWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSB0ZXh0LWJhc2VkIGlucHV0LCBleGNsdWRpbmcgdGV4dGFyZWEuXG4vLyBodHRwOi8vZGl2ZWludG9odG1sNS5vcmcvZm9ybXMuaHRtbFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcblxuICAgICAgICAgICAgICAvLyBXZWJraXQgJiBHZWNrbyBtYXkgY2hhbmdlIHRoZSBkaXNwbGF5IG9mIHRoZXNlIGluIHRoZSBmdXR1cmVcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXSc7XG5cbi8vIEJhcmUgaW5wdXRzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCk7XG5cbi8vIEhvdmVyIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogYXNzaWduLWlucHV0cygkaW5wdXRzLWxpc3QsIGhvdmVyKTtcblxuLy8gRm9jdXMgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgZm9jdXMpO1xuXG5cblxuLy8gWW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOlxuLy8gI3skYWxsLXRleHQtaW5wdXRzfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC10ZXh0LWlucHV0c30sIHRleHRhcmVhIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtYnV0dG9uLWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSBidXR0b24tYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyBidXR0b24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWJ1dHRvbi1saXN0OiAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgYWN0aXZlKTtcblxuXG5cbi8vIFlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTpcbi8vICN7JGFsbC1idXR0b24taW5wdXRzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1mb2N1c31cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZX1cblxuLy8gRXhhbXBsZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gICAjeyRhbGwtYnV0dG9uLWlucHV0c30sIGJ1dHRvbiB7XG4vLyAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuLy8gICB9XG4iLCJAbWl4aW4gcG9zaXRpb24gKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAaWYgKCR0b3AgYW5kICR0b3AgPT0gYXV0bykgb3IgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyKSB7XG4gICAgdG9wOiAkdG9wO1xuICB9XG5cbiAgQGlmICgkcmlnaHQgYW5kICRyaWdodCA9PSBhdXRvKSBvciAodHlwZS1vZigkcmlnaHQpID09IG51bWJlcikge1xuICAgIHJpZ2h0OiAkcmlnaHQ7XG4gIH1cblxuICBAaWYgKCRib3R0b20gYW5kICRib3R0b20gPT0gYXV0bykgb3IgKHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XG4gICAgYm90dG9tOiAkYm90dG9tO1xuICB9XG5cbiAgQGlmICgkbGVmdCBhbmQgJGxlZnQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJGxlZnQpID09IG51bWJlcikge1xuICAgIGxlZnQ6ICRsZWZ0O1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG5cbiAgfVxufVxuIiwiQG1peGluIHNpemUoJHNpemUpIHtcbiAgJGhlaWdodDogbnRoKCRzaXplLCAxKTtcbiAgJHdpZHRoOiAkaGVpZ2h0O1xuXG4gIEBpZiBsZW5ndGgoJHNpemUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCRzaXplLCAyKTtcbiAgfVxuXG4gIEBpZiAkaGVpZ2h0ID09IGF1dG8gb3IgKHR5cGUtb2YoJGhlaWdodCkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJGhlaWdodCkpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAaWYgJHdpZHRoID09IGF1dG8gb3IgKHR5cGUtb2YoJGhlaWdodCkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJHdpZHRoKSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH1cbn1cbiIsIi8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtbydlZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuXG4vLyBFQVNFIElOXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuLy8gRUFTRSBPVVRcbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4vLyBFQVNFIElOIE9VVFxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAbWl4aW4gdHJpYW5nbGUgKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG5cbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG5cbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuIiwiQG1peGluIHdvcmQtd3JhcCgkd3JhcDogYnJlYWstd29yZCkge1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gVGhlc2UgbWl4aW5zL2Z1bmN0aW9ucyBhcmUgZGVwcmVjYXRlZFxuLy8gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAd2FybiBcImlubGluZS1ibG9jayBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG4iLCIvLyBDb3JlXG5AaW1wb3J0IFwiY29yZVwiO1xuXG4vLyBCcmVha3BvaW50c1xuQGltcG9ydCBcImJyZWFrcG9pbnRzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcImxheW91dFwiO1xuXG4vLyBUeXBvZ3JhcGh5XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuXG4vLyBOYXZcbkBpbXBvcnQgXCJuYXZcIjsiLCIvLyBCb3JkZXIgUmFkaXVzXG4kY29yZS1ib3JkZXItcmFkaXVzOlx0XHRcdDAgIWRlZmF1bHQ7XG5cbi8vIFByZSBhbmQgQ29kZSBGb250IEZhbWlseVxuJHByZWZvcm1hdHRlZC1mb250LWZhbWlseTogICAgICBpbmhlcml0ICFkZWZhdWx0OyIsIi8vIE1lZGlhIERldmljZSBCcmVha3BvaW50c1xuJGxhcmdlLWRlc2t0b3AtY29udGFpbmVyOlx0XHQ3NS4wMDBlbSAhZGVmYXVsdDtcbiRkZXNrdG9wLWNvbnRhaW5lcjpcdFx0XHRcdDYwLjAwMGVtICFkZWZhdWx0O1xuJHRhYmxldC1jb250YWluZXI6XHRcdFx0XHQ0OC4wMDBlbSAhZGVmYXVsdDtcbiRsYXJnZS1tb2JpbGUtY29udGFpbmVyOlx0XHQzMC4wMDBlbSAhZGVmYXVsdDtcbiRtb2JpbGUtY29udGFpbmVyOlx0XHRcdFx0MTAwJSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBWYXJpYWJsZXMgRm9yIFBhcnRpY2xlc1xuJG1lZGlhOiBcImFsbFwiICFkZWZhdWx0O1xuJG1vYmlsZS1vbmx5OiBcIiN7JG1lZGlhfSBhbmQgKG1heC13aWR0aDojeyR0YWJsZXQtY29udGFpbmVyIC0gMC4wNjJ9KVwiICFkZWZhdWx0O1xuJG5vLW1vYmlsZTogXCIjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6I3skdGFibGV0LWNvbnRhaW5lcn0pXCIgIWRlZmF1bHQ7XG4kc21hbGwtbW9iaWxlLXJhbmdlOiBcIiN7JG1lZGlhfSBhbmQgKG1heC13aWR0aDojeyRsYXJnZS1tb2JpbGUtY29udGFpbmVyfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1tb2JpbGUtcmFuZ2U6IFwiI3skbWVkaWF9IGFuZCAobWluLXdpZHRoOiN7JGxhcmdlLW1vYmlsZS1jb250YWluZXIgKyAwLjA2M30pIGFuZCAobWF4LXdpZHRoOiN7JHRhYmxldC1jb250YWluZXIgLSAwLjA2Mn0pXCIgIWRlZmF1bHQ7XG4kdGFibGV0LXJhbmdlOiBcIiN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDojeyR0YWJsZXQtY29udGFpbmVyfSkgYW5kIChtYXgtd2lkdGg6I3skZGVza3RvcC1jb250YWluZXIgLSAwLjA2Mn0pXCIgIWRlZmF1bHQ7XG4kZGVza3RvcC1yYW5nZTogXCIjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6I3skZGVza3RvcC1jb250YWluZXJ9KSBhbmQgKG1heC13aWR0aDojeyRsYXJnZS1kZXNrdG9wLWNvbnRhaW5lciAtIDAuMDYyfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1kZXNrdG9wLXJhbmdlOiBcIiN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDojeyRsYXJnZS1kZXNrdG9wLWNvbnRhaW5lcn0pXCIgIWRlZmF1bHQ7XG4iLCIvLyBDb250ZW50IEJsb2NrIFNwYWNpbmcgVmFyaWFibGVzXG4kY29udGVudC1tYXJnaW46XHRcdFx0XHQwLjYyNXJlbSAhZGVmYXVsdDtcbiRjb250ZW50LXBhZGRpbmc6XHRcdFx0XHQwLjkzOHJlbSAhZGVmYXVsdDtcblxuLy8gRml4ZWQgQmxvY2sgVmFyaWFibGVzXG4kZml4ZWQtYmxvY2stZnVsbDpcdFx0XHRcdHBlcmNlbnRhZ2UoMS80KSAhZGVmYXVsdDtcbiRmaXhlZC1ibG9jay1kZXNrdG9wOlx0XHRcdHBlcmNlbnRhZ2UoMS8zKSAhZGVmYXVsdDtcbiRmaXhlZC1ibG9jay10YWJsZXQ6XHRcdFx0cGVyY2VudGFnZSgxLzIpICFkZWZhdWx0OyIsIi8vIEJhc2UgU2l6ZXNcbiRjb3JlLWZvbnQtc2l6ZTpcdFx0XHRcdDFyZW0gIWRlZmF1bHQ7XG4kY29yZS1saW5lLWhlaWdodDpcdFx0XHRcdDEuNyAhZGVmYXVsdDtcblxuLy8gSGVhZGluZyBTaXplc1xuJGgxLWZvbnQtc2l6ZTpcdFx0XHRcdFx0JGNvcmUtZm9udC1zaXplICsgMi4yMCAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6XHRcdFx0XHRcdCRjb3JlLWZvbnQtc2l6ZSAtIDEuNjAgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOlx0XHRcdFx0XHQkY29yZS1mb250LXNpemUgLSAxLjUwICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTpcdFx0XHRcdFx0JGNvcmUtZm9udC1zaXplICsgMC43NSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6XHRcdFx0XHRcdCRjb3JlLWZvbnQtc2l6ZSArIDAuMzUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOlx0XHRcdFx0XHQkY29yZS1mb250LXNpemUgLSAwLjE1ICFkZWZhdWx0O1xuXG4vLyBTcGFjaW5nXG4kbGVhZGluZy1tYXJnaW46XHRcdFx0XHQkY29yZS1saW5lLWhlaWdodCAqIDFyZW0gIWRlZmF1bHQ7XG4iLCIvLyBEcm9wZG93bnNcbiRkcm9wZG93bi13aWR0aDpcdFx0XHRcdDE0MHB4ICFkZWZhdWx0O1xuJGZseW91dC13aWR0aDpcdFx0XHRcdFx0MTQwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sLXdpZHRoOiAgICAgICAgICAgIDE3MHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbC1oZWlnaHQ6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDsiLCIvLyBDb2xvcnNcbkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuLy8gVHlwb2dyYXBoeVxuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuLy8gVHlwb2dyYXBoeVxuQGltcG9ydCBcImJ1bGxldHNcIjtcblxuLy8gVmFyaWFibGVzXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG4iLCIvLyBDb3JlXG4kY29yZS10ZXh0Olx0XHRcdFx0XHRcdCM4MDgwODA7XG4kY29yZS1hY2NlbnQ6XHRcdFx0XHRcdCM4N2I2NzI7XG4kc2Vjb25kYXJ5LWxpbms6XHRcdFx0XHQjRjY2MzVFO1xuJHdoaXRlOlx0XHRcdFx0XHRcdFx0I2ZmZjtcbiRibGFjazpcdFx0XHRcdFx0XHRcdCMwMDA7XG4kbGlnaHQtZ3JheTpcdFx0XHRcdFx0IzY1NjE2MTtcbiRib3JkZXItY29sb3I6IFx0XHRcdFx0XHQjRUVFRUVFO1xuXG4vLyBCb3JkZXJzXG4kY29yZS1ib3JkZXItY29sb3I6XHRcdFx0XHQjQ0JDQkNCO1xuJGNvcmUtYm9yZGVyLWNvbG9yLWhvdmVyOiBcdFx0ZGFya2VuKCRjb3JlLWJvcmRlci1jb2xvciwgMTApO1xuJGNvcmUtYm9yZGVyLWNvbG9yLWZvY3VzOiBcdFx0JGNvcmUtYWNjZW50O1xuXG4vLyBTaGFkb3dzXG4kY29yZS1ib3gtc2hhZG93OiBcdFx0XHRcdGluc2V0IDAgMXB4IDNweCBoc2xhKDAsIDAlLCAwJSwgMC4wNik7XG4kY29yZS1ib3gtc2hhZG93LWZvY3VzOiBcdFx0JGNvcmUtYm94LXNoYWRvdywgMCAwIDVweCByZ2JhKGRhcmtlbigkY29yZS1ib3JkZXItY29sb3ItZm9jdXMsIDUpLCAwLjcpO1xuXG4vLyBCYWNrZ3JvdW5kXG4kcGFnZS1iZzpcdFx0XHRcdFx0XHQjZmZmO1xuXG4vLyBIZWFkZXJcbiRoZWFkZXItdGV4dDogXHRcdFx0XHRcdCNGRkZGRkY7XG5cbi8vIE5hdlxuJG5hdmJhci10ZXh0OiBcdFx0XHRcdFx0I2ZmZjtcbiRuYXZiYXItYmc6IFx0XHRcdFx0XHQjRkZGRkZGO1xuXG4vLyBTaG93Y2FzZVxuJHNob3djYXNlLWJnOlx0XHRcdFx0XHRsaWdodGVuKCRjb3JlLWFjY2VudCwgNiUpO1xuJHNob3djYXNlLXRleHQ6XHRcdFx0XHRcdCNmZmY7XG5cbi8vIEZlYXR1cmVcbiRmZWF0dXJlLWJnOlx0XHRcdFx0XHQjZmZmO1xuXG4vLyBNYWluIEJvZHlcbiRtYWluLWJnOlx0XHRcdFx0XHRcdCNmN2Y3Zjc7XG4kYm9keS1ib3JkZXI6XHRcdFx0XHRcdGRhcmtlbigkbWFpbi1iZywgNSUpO1xuXG4vLyBTaWRlYmFyXG4kc2lkZWJhci10ZXh0Olx0XHRcdFx0XHQjYWFhO1xuXG4vLyBCb3R0b21cbiRib3R0b20tYmc6XHRcdFx0XHRcdFx0I2Y3ZjdmNztcbiRib3R0b20tdGV4dDpcdFx0XHRcdFx0JGNvcmUtdGV4dDtcblxuLy8gRm9vdGVyXG4kZm9vdGVyLWJnOlx0XHRcdFx0XHRcdCM0MDQwNDA7XG4kZm9vdGVyLXRleHQ6XHRcdFx0XHRcdCNjY2M7XG5cbiRydWxlLWNvbG9yOiBcdFx0XHRcdFx0I0YwRjJGNDtcbiRjb2RlLXRleHQ6XHRcdFx0XHRcdFx0I2M3MjU0ZTtcbiRjb2RlLWJnOlx0XHRcdFx0XHRcdCNmOWYyZjQ7XG4kcHJlLXRleHQ6XHRcdFx0XHRcdFx0IzIzNzc5NDtcbiRwcmUtYmc6XHRcdFx0XHRcdFx0I2Y2ZjZmNjtcblxuLy8gRGFyayBDb250cmFzdCB2YXJpYXRpb25cbiRkYXJrLW5hdmJhci10ZXh0Olx0XHRcdFx0Izk5OTtcbiRkYXJrLXNpZGViYXI6XHRcdFx0XHRcdCMyMjI7XG4kZGFyay1zaWRlYmFyLXRleHQ6XHRcdFx0XHQjOTk5O1xuJGRhcmstbWFpbi1iZzpcdFx0XHRcdFx0IzMzMztcbiRkYXJrLWJvZHktYm9yZGVyOlx0XHRcdFx0IzY2NjtcbiIsIi8vIEZvbnQgRmFtaWx5XG4kZm9udC1mYW1pbHktZGVmYXVsdDogIFx0XHRcdFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FOZXVlLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LWhlYWRlcjogIFx0XHRcdFwibm92ZWNlbnRvX3NhbnNfd2lkZWRlbWlib2xkXCIsIFwiSGVsdmV0aWNhXCIsIFwiVGFob21hXCIsIFwiR2VuZXZhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1sb2dvOiAgICAgICAgICAgICAgXCJQYWNpZmljb1wiLCBcIm1vbm9zcGFjZVwiO1xuJGZvbnQtZmFtaWx5LW1vbm86IFx0XHRcdFx0XCJJbmNvbnNvbGF0YVwiLCBtb25vc3BhY2U7XG4kZm9udC1mYW1pbHktc2VyaWY6XHRcdFx0XHRcIkdlb3JnaWFcIiwgXCJUaW1lc1wiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcblxuJGljb25zOiBcdFx0XHRcdFx0XHRcIkZvbnRBd2Vzb21lXCI7XG4iLCIkYnVsbGV0LWljb24tc2l6ZTpcdFx0XHRcdDMuNXJlbTtcblxuJGJ1bGxldC1pY29uLWNvbG9yLTE6XHRcdFx0JGNvcmUtYWNjZW50O1xuJGJ1bGxldC1pY29uLWNvbG9yLTI6XHRcdFx0YWRqdXN0LWh1ZSgkY29yZS1hY2NlbnQsIC0yMCk7XG4kYnVsbGV0LWljb24tY29sb3ItMzpcdFx0XHRhZGp1c3QtaHVlKCRjb3JlLWFjY2VudCwgLTEzMCk7IiwiLy8gU2l6ZXNcbiRoZWFkZXItaGVpZ2h0OiAxMnJlbTtcbiRmb290ZXItaGVpZ2h0OiA2cmVtO1xuJGJvcmRlci1yYWRpdXM6IDA7XG5cbi8vIEZvbnQgV2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDYwMDtcbiRmb250LXdlaWdodC1yZWd1bGFyOiA0MDA7XG4kZm9udC13ZWlnaHQtbGlnaHQ6MzAwO1xuXG4vLyBHbG9iYWwgUGFkZGluZ3NcbiRwYWRkaW5nLWhvcml6OiAxNHJlbTtcbiRwYWRkaW5nLXZlcnQ6IDNyZW07XG4iLCJAaW1wb3J0IFwiZGlyZWN0aW9uXCI7XG5AaW1wb3J0IFwicmFuZ2VcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjsiLCJAZnVuY3Rpb24gb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXIpIHtcblx0QGlmICRkaXIgPT0gJ2xlZnQnIHtcblx0XHRAcmV0dXJuIHJpZ2h0O1xuXHR9XG5cdEBlbHNlIGlmICAkZGlyID09ICdyaWdodCcge1xuXHRcdEByZXR1cm4gbGVmdDtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdsdHInIHtcblx0XHRAcmV0dXJuIHJ0bDtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdydGwnIHtcblx0XHRAcmV0dXJuIGx0cjtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICd0b3AnIHtcblx0XHRAcmV0dXJuIGJvdHRvbTtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdib3R0b20nIHtcblx0XHRAcmV0dXJuIHRvcDtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QHdhcm4gXCIjeyRkaXJ9IGlzIG5vdCBhIGRpcmVjdGlvbiEgTWFrZSBzdXJlIHlvdXIgZGlyZWN0aW9uIGlzIGFsbCBsb3dlcmNhc2UhXCI7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxufVxuXG5AZnVuY3Rpb24gbmFtZWQtZGlyZWN0aW9uKCRkaXIpIHtcblx0QGlmICRkaXIgPT0gJ2x0cicge1xuXHRcdEByZXR1cm4gbGVmdDtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdydGwnIHtcblx0XHRAcmV0dXJuIHJpZ2h0O1xuXHR9XG5cdEBlbHNlIHtcblx0XHRAd2FybiBcIiN7JGRpcn0gaXMgbm90IGEgdmFsaWQgSFRNTCBkaXJlY3Rpb24hIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgdmFsaWQgSFRNTCBkaXJlY3Rpb25cIjtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG59IiwiQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSl7XG5cdEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcblx0XHRAcmV0dXJuIDA7XG5cdH1cblx0QHJldHVybiBudGgoJHJhbmdlLDEpO1xufVxuXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XG5cdEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xuXHRcdEByZXR1cm4gOTk5OTk5OTk5OTk5O1xuXHR9XG5cdEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XG59IiwiQGZ1bmN0aW9uIHRleHRjb2xvci10aW50KCRjb2xvciwgJGFtb3VudDogNjUlKSB7XG4gXHRAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gNTApIHtcbiBcdFx0QHJldHVybiBkYXJrZW4oJGNvbG9yLCAkYW1vdW50KTtcblx0fSBAZWxzZSB7XG4gICAgXHRAcmV0dXJuIGxpZ2h0ZW4oJGNvbG9yLCAkYW1vdW50KTtcbiAgXHR9XHRcbn0iLCJAaW1wb3J0IFwiYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7IiwiLy8gQnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50KCRicmVha3BvaW50LCAkbWVkaWE6IGFsbCkge1xuXHRAaWYgJGJyZWFrcG9pbnQgPT0gbGFyZ2UtZGVza3RvcC1yYW5nZSB7XG5cdFx0QG1lZGlhIG9ubHkgI3skbWVkaWF9IGFuZCAobWluLXdpZHRoOiAkbGFyZ2UtZGVza3RvcC1jb250YWluZXIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBkZXNrdG9wLXJhbmdlIHtcblx0XHRAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wLWNvbnRhaW5lcikgYW5kIChtYXgtd2lkdGg6ICRsYXJnZS1kZXNrdG9wLWNvbnRhaW5lciAtIDAuMDYyKSB7IEBjb250ZW50OyB9XG5cdH1cblx0QGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gdGFibGV0LXJhbmdlIHtcblx0XHRAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtY29udGFpbmVyKSBhbmQgKG1heC13aWR0aDogJGRlc2t0b3AtY29udGFpbmVyIC0gMC4wNjIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBsYXJnZS1tb2JpbGUtcmFuZ2Uge1xuXHRcdEBtZWRpYSBvbmx5ICN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDogJGxhcmdlLW1vYmlsZS1jb250YWluZXIgKyAwLjA2MykgYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQtY29udGFpbmVyIC0gMC4wNjIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBzbWFsbC1tb2JpbGUtcmFuZ2Uge1xuXHRcdEBtZWRpYSBvbmx5ICN7JG1lZGlhfSBhbmQgKG1heC13aWR0aDogJGxhcmdlLW1vYmlsZS1jb250YWluZXIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBuby1tb2JpbGUge1xuXHRcdEBtZWRpYSBvbmx5ICN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1jb250YWluZXIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBtb2JpbGUtb25seSB7XG5cdFx0QG1lZGlhIG9ubHkgI3skbWVkaWF9IGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWNvbnRhaW5lciAtIDAuMDYyKSB7IEBjb250ZW50OyB9XG5cdH1cblx0QGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gZGVza3RvcC1vbmx5IHtcblx0XHRAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtYXgtd2lkdGg6ICRkZXNrdG9wLWNvbnRhaW5lciAtIDAuMDYyKSB7IEBjb250ZW50OyB9XG5cdH1cbn0iLCIvLyBJbmFjdGl2ZSBEcm9wZG93blxuJWluYWN0aXZlLWRyb3Bkb3duIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IGF1dG87XG5cdGxlZnQ6IGF1dG87XG5cdG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEluYWN0aXZlIERyb3Bkb3duXG4lYWN0aXZlLWRyb3Bkb3duIHtcblx0b3BhY2l0eTogMTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vIEluYWN0aXZlIERyb3Bkb3duXG4lZHJvcGRvd24tY29sdW1uIHtcblx0d2lkdGg6ICRkcm9wZG93bi1jb2wtd2lkdGg7XG5cdC8vaGVpZ2h0OiAkZHJvcGRvd24taGVpZ2h0O1xuXHRmbG9hdDogbGVmdDtcbn0iLCIvLyBIZWFkZXJzXG5AbWl4aW4gaGVhZGVyKCRtYXJnaW4tdG9wOiAkbGVhZGluZy1tYXJnaW4gLyAyLCAkbWFyZ2luLWJvdHRvbTogJGxlYWRpbmctbWFyZ2luKSB7XG5cdG1hcmdpbjogJG1hcmdpbi10b3AgMCAkbWFyZ2luLWJvdHRvbSAwO1xufSIsIi8vIExpc3QgUmVzZXRcbiVsaXN0LXJlc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBWZXJ0aWNhbCBDZW50ZXJpbmdcbiV2ZXJ0aWNhbC1hbGlnbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiA1MCU7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbn1cblxuLy8gQ29sdW1uc1xuQG1peGluIGNvbHVtbnMoJGNvbHVtbnMpIHtcblx0d2lkdGg6IHBlcmNlbnRhZ2UoMS8kY29sdW1ucyk7XG59XG5cbi8vIEZsb2F0IHdpdGggbWFyZ2luIHZhcmlhYmxlXG5AbWl4aW4gZmxvYXQoJGRpcmVjdGlvbiwgJG1hcmdpbjogMCkge1xuXHRmbG9hdDogJGRpcmVjdGlvbjtcblx0bWFyZ2luLSN7b3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pfTogJG1hcmdpbjtcbn1cbiIsIi8vIEJ1dHRvbnNcbkBpbXBvcnQgXCJidXR0b25zXCI7IiwiJWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogN3B4IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgJi5idXR0b24tc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAzcHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAkY29yZS1mb250LXNpemUgLSAwLjFyZW07XG4gICAgfVxuXG59XG5cbkBtaXhpbiBidXR0b24tY29sb3IoJGNvbG9yKSB7XG5cdGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblx0fVxuXHQmOmFjdGl2ZSB7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggMCBkYXJrZW4oJGNvbG9yLCAxMiUpO1xuXHR9XG59XG4iLCJodG1sLCBib2R5IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcblx0YmFja2dyb3VuZDogJHBhZ2UtYmc7XG5cdGNvbG9yOiAkY29yZS10ZXh0O1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5hIHtcblx0Y29sb3I6ICRjb3JlLWFjY2VudDtcblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IGRhcmtlbigkY29yZS1hY2NlbnQsIDIwJSk7XG5cdH1cbn1cblxuYiwgc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkXG59XG5cbi8vIEdsb2JhbCBDb250YWluZXJcbiNjb250YWluZXIge1xuIFx0bWluLWhlaWdodDogMTAwJTtcbiAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIEZ1bGx3aWR0aCBzdHlsZXNcbi5mdWxsd2lkdGgge1xuXHQjYm9keSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblx0I2hlYWRlciwgI2JyZWFkY3J1bWJzLCAuYmxvZy1oZWFkZXIsIC5ibG9nLWNvbnRlbnQtaXRlbSwgLmNvbnRlbnQtd3JhcHBlciwgdWwucGFnaW5hdGlvbiwgI2JvZHkgPiAubW9kdWxhci1yb3cge1xuXHRcdEBleHRlbmQgLnBhZGRpbmctaG9yaXo7XG5cdH1cbn1cblxuLy8gR2xvYmFsIGJvZHkgc3R5bGluZ1xuI2JvZHkge1xuXHRAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcblx0QGV4dGVuZCAucGFkZGluZy1ob3Jpejtcblx0XG5cdGJhY2tncm91bmQ6ICRwYWdlLWJnO1xuXHRwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQgKyAkcGFkZGluZy12ZXJ0O1xufVxuXG4vLyBBbGlnbm1lbnRcbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdub3ZlY2VudG9fc2Fuc193aWRlZGVtaWJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLURlbWlCb2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLURlbWlCb2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtRGVtaUJvbGQtd2ViZm9udC5zdmcjbm92ZWNlbnRvX3NhbnNfd2lkZWRlbWlib2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ25vdmVjZW50b19zYW5zX3dpZGVub3JtYWwnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1Ob3JtYWwtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU5vcm1hbC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1Ob3JtYWwtd2ViZm9udC5zdmcjbm92ZWNlbnRvX3NhbnNfd2lkZW5vcm1hbCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdub3ZlY2VudG9fc2Fuc193aWRlbWVkaXVtJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTWVkaXVtLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1NZWRpdW0td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTWVkaXVtLXdlYmZvbnQuc3ZnI25vdmVjZW50b19zYW5zX3dpZGVtZWRpdW0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUGFjaWZpY28nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wYWNpZmljby50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cbiIsIi5kZWZhdWx0LWFuaW1hdGlvbiB7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuNXMgZWFzZSk7XG59XG5cbi5wYWRkaW5nLWhvcml6IHtcblx0cGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3Jpejtcblx0cGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXo7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1yYW5nZSkge1xuXHRcdHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXogLSA3cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6IC0gN3JlbTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuXHRcdHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXogLSA3cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6IC0gN3JlbTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3JpeiAtIDEzcmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6IC0gMTNyZW07XG5cdH1cbn1cblxuLnBhZGRpbmctdmVydCB7XG5cdHBhZGRpbmctdG9wOiAkcGFkZGluZy12ZXJ0O1xuXHRwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctdmVydDtcbn1cbiIsIi8vIEhlYWRlciBzdHlsaW5nXG5cbiNoZWFkZXIge1xuICAgIEBleHRlbmQgLnBhZGRpbmctaG9yaXo7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkwKTtcbiAgICBib3gtc2hhZG93OiAwIDAuMDVyZW0gMXJlbSByZ2JhKDAsMCwwLCAwLjE1KTtcblxuICAgID4gLmdyaWQsIC5sb2dvLCAjbmF2YmFyLCAuc29jaWFsLW5hdmlnYXRpb24ge1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICB9XG4gICAgLmZhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAuZml4ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNHJlbTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMHB4IDIwcHggMHB4IHJnYmEoMCwwLDAsMC4yKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgICYuc29jaWFsLWljb25zIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtYm94IHtcbiAgICAgICAgQGV4dGVuZCAldmVydGljYWwtYWxpZ247XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDAuNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjZyZW07XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAgICAgaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4zcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogICRjb3JlLWZvbnQtc2l6ZSAtIDAuMXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC41cyk7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkaGVhZGVyLXRleHQsIDAuNyk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTBweDtcblxuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgxcmVtKSk7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDAuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuZml4ZWQge1xuICAgICAgICAuc2VhcmNoLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYW5lbC1hY3RpdmF0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1vbmx5KSB7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSAhaW1wb3J0YW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNuYXZiYXIge1xuICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZSArIDAuMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuXG4gICAgICAgICAgICAmLmZpeGVkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAmLm5hdmlnYXRpb24ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJXZlcnRpY2FsLWFsaWduO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuM3JlbSAwLjhyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC4wNXJlbSAxcmVtIHJnYmEoMCwwLDAsIDAuMTUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB1bCB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFuZWwtYWN0aXZhdGlvbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2R1bGFyLmhlYWRlci1pbWFnZSAjaGVhZGVyIC5maXhlZCB7XG4gICAgYmFja2dyb3VuZDogIzY2NjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dCk7XG59XG5cbi5oZWFkZXItaW1hZ2Uge1xuICAgICYuZnVsbHdpZHRoIHtcbiAgICAgICAgI2JvZHkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgICAgPi5saXN0aW5nLXJvdyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3JpejtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1ob3JpejtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubGlzdGluZy1yb3c6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgI2JvZHkge1xuICAgICAgICAuZmx1c2gtdG9wIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0gJGhlYWRlci1oZWlnaHQgLSAkcGFkZGluZy12ZXJ0IC0gMC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXItaGVpZ2h0ICsgNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNicmVhZGNydW1icyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgI2hlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGhlYWRlci10ZXh0LDApO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICNsb2dvIGgzLCAjbG9nbyBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgYSwgLm1lbnUtYnRuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgYTpiZWZvcmUsIGE6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkaGVhZGVyLXRleHQsMC43KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI25hdmJhciB1bC5uYXZpZ2F0aW9uICB7XG4gICAgICAgICAgICB1bCBsaSBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDNweCAjNjU2MTYxO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRjb3JlLWFjY2VudCwgMjAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uaGVhZGVyLWxpdGUge1xuICAgICNib2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycmVtO1xuICAgIH1cbiAgICAjaGVhZGVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBhLCAubWVudS1idG4ge1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtYm94IHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRsaWdodC1ncmF5LCAwLjgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICB9XG4gICAgICAgIC5sb2dvIHVsLnNvY2lhbC1pY29ucyBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkbGlnaHQtZ3JheSwgMC44KTtcbiAgICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5mb290ZXIge1xuICAgIGZvbnQtc2l6ZTogICRjb3JlLWZvbnQtc2l6ZSAtIDAuMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBleHRlbmQgLnBhZGRpbmctaG9yaXo7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvcmUtdGV4dDtcbiAgICB9XG4gICAgaDQge1xuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIGhyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGNvcmUtdGV4dCwgMC41KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgLnNvY2lhbC1pY29ucyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgLnNvY2lhbC1pY29ucyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyLWl0ZW1zIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgICBAc3VwcG9ydHMgbm90IChmbGV4LXdyYXA6IHdyYXApIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbiAgICAuZm9vdGVyLW1vZHVsZSB7XG4gICAgICAmLmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1tb2JpbGUtcmFuZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICB9XG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxvZ28ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgaDMgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICAgIC5xdWlja21lbnUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci1tb2R1bGVzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgIH1cbiAgICAuZm9vdGVyLWNvcHlyaWdodCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyLW1lbnUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5uZXdzbGV0dGVyIHtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGhlYWRlci10ZXh0LCAwLjgpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGhlYWRlci10ZXh0LCAwLjUpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICB9IFxuICB9XG4iLCIvLyBCb2R5IEJhc2VcbmJvZHkge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWRlZmF1bHQ7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8vIEhlYWRpbmdzXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmgxIHtcblx0Zm9udC1zaXplOiAkaDEtZm9udC1zaXplO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggM3B4ICM2NTYxNjE7XG4gICAgfVxufVxuXG5oMiB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG5cdFx0Zm9udC1zaXplOiAkaDItZm9udC1zaXplIC0gLjQwO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcblx0XHRmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAuNTA7XG5cdH1cblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiAxLjRyZW07XG59XG5cbmgzIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcblx0XHRmb250LXNpemU6ICRoMy1mb250LXNpemUgLSAuNDA7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtIC41MDtcblx0fVxufVxuXG5oNCB7XG5cdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogJGxpZ2h0LWdyYXk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcblx0XHRmb250LXNpemU6ICRoNC1mb250LXNpemUgLSAuNDA7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZSAtIC41MDtcblx0fVxufVxuXG5oMSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMge1xuXHRsZXR0ZXItc3BhY2luZzogLTFweDtcbn1cblxuaDEgKyBoMiB7XG5cdG1hcmdpbjogLTJyZW0gMCAycmVtIDA7XG5cdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuXHRcdGZvbnQtc2l6ZTogMS4zcmVtO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdH1cblx0bGluZS1oZWlnaHQ6IDE7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1kZWZhdWx0O1xuXHRmb250LXdlaWdodDogMzAwO1xufVxuXG5oMiArIGgzIHtcblx0bWFyZ2luOiAwLjVyZW0gMCAycmVtIDA7XG5cdGZvbnQtc2l6ZTogMS4zcmVtO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuXHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcblx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0fVxuXHRsaW5lLWhlaWdodDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWRlZmF1bHQ7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cblxuLy8gQmxvY2txdW90ZVxuYmxvY2txdW90ZSB7XG5cdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICRydWxlLWNvbG9yO1xuXHRwIHtcblx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0XHRjb2xvcjogIzk5OTtcblx0fVxuXHRjaXRlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRjb2xvcjogIzY2Njtcblx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0fVxufVxuXG4vLyBOT1RFUyEhISFcbmJsb2NrcXVvdGUgPiBibG9ja3F1b3RlID4gYmxvY2txdW90ZSB7XG5cblx0bWFyZ2luOiAwO1xuXG5cdHAge1xuXG5cdFx0cGFkZGluZzogMTVweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0bWFyZ2luLXRvcDogMHJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAwcmVtO1xuXHR9XG5cblx0PiBwIHtcblx0XHQvLyBZZWxsb3dcblx0XHRtYXJnaW4tbGVmdDogLTcxcHg7XG5cdFx0Ym9yZGVyLWxlZnQ6IDEwcHggc29saWQgI0YwQUQ0RTtcblx0XHRiYWNrZ3JvdW5kOiAjRkNGOEYyO1xuXHRcdGNvbG9yOiBkYXJrZW4oI0YwQUQ0RSwxNSUpO1xuXHR9XG5cblx0PiBibG9ja3F1b3RlID4gcCB7XG5cdFx0Ly8gUmVkXG5cdFx0bWFyZ2luLWxlZnQ6IC05NHB4O1xuXHRcdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNEOTUzNEY7XG5cdFx0YmFja2dyb3VuZDogI0ZERjdGNztcblx0XHRjb2xvcjogZGFya2VuKCNEOTUzNEYsMTUlKTtcblx0fVxuXG5cdD4gYmxvY2txdW90ZSA+IGJsb2NrcXVvdGUgPiBwIHtcblx0XHQvLyBCbHVlXG5cdFx0bWFyZ2luLWxlZnQ6IC0xMThweDtcblx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCAjNUJDMERFO1xuXHRcdGJhY2tncm91bmQ6ICNGNEY4RkE7XG5cdFx0Y29sb3I6IGRhcmtlbigjNUJDMERFLDE1JSk7XG5cdH1cblxuXHQ+IGJsb2NrcXVvdGUgPiBibG9ja3F1b3RlID4gYmxvY2txdW90ZSA+IHAge1xuXHRcdC8vIEdyZWVuXG5cdFx0bWFyZ2luLWxlZnQ6IC0xNDJweDtcblx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCAjNUNCODVDO1xuXHRcdGJhY2tncm91bmQ6ICNGMUY5RjE7XG5cdFx0Y29sb3I6IGRhcmtlbigjNUNCODVDLDE1JSk7XG5cdH1cblxufVxuXG4vLyBJbmxpbmUgYW5kIENvZGVcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vO1xufVxuXG5jb2RlIHtcblx0YmFja2dyb3VuZDogJGNvZGUtYmc7XG5cdGNvbG9yOiBkYXJrZW4oJGNvZGUtdGV4dCwxMCUpO1xufVxuXG5wcmUge1xuXHRwYWRkaW5nOiAycmVtO1xuXHRiYWNrZ3JvdW5kOiAkcHJlLWJnO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29yZS1ib3JkZXItY29sb3I7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Y29kZSB7XG5cdFx0Y29sb3I6ICRwcmUtdGV4dDtcblx0XHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXHR9XG59XG5cbi8vIEV4dHJhc1xuaHIge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvcmUtYm9yZGVyLWNvbG9yO1xufVxuXG4vLyBQYWdlIFRpdGxlXG4ucGFnZS10aXRsZSB7XG5cdG1hcmdpbi10b3A6IC0yNXB4O1xuXHRwYWRkaW5nOiAyNXB4O1xuXHRmbG9hdDogbGVmdDtcblx0Y2xlYXI6IGJvdGg7XG5cdGJhY2tncm91bmQ6ICRjb3JlLWFjY2VudDtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cblxuLy8gTGFiZWxcbi5sYWJlbCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kOiAkY29yZS1hY2NlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBtaW4td2lkdGg6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZSAtIDAuM3JlbTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG5cbiIsImZpZWxkc2V0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvcmUtYm9yZGVyLWNvbG9yO1xufVxuXG50ZXh0YXJlYSwgI3skYWxsLXRleHQtaW5wdXRzfSwgc2VsZWN0W211bHRpcGxlPW11bHRpcGxlXSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29yZS1ib3JkZXItY29sb3I7XG5cdGJveC1zaGFkb3c6ICRjb3JlLWJveC1zaGFkb3c7XG5cblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29yZS1ib3JkZXItY29sb3ItaG92ZXI7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRjb3JlLWJvcmRlci1jb2xvci1mb2N1cztcblx0XHRib3gtc2hhZG93OiAkY29yZS1ib3gtc2hhZG93LWZvY3VzO1xuXHR9XG59XG5cbmxhYmVsIHtcblx0QGV4dGVuZCBzdHJvbmc7XG59XG5cbi8vIEZvcm1zXG4uZm9ybS1maWVsZCB7XG5cdC5yZXF1aXJlZCB7XG5cdFx0Y29sb3I6ICNGMzQ0M0Y7XG5cdFx0Zm9udC1zaXplOiAkY29yZS1mb250LXNpemUgKyAxcmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAkY29yZS1mb250LXNpemUgKyAxcmVtO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0aGVpZ2h0OiAxLjVyZW07XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG59XG5cbmZvcm0ge1xuXHQuYnV0dG9ucyB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdGlucHV0IHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHR9XG59XG4iLCJ0YWJsZSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvcmUtYm9yZGVyLWNvbG9yLDUlKTtcbn1cblxudGgge1xuXHRAZXh0ZW5kIHN0cm9uZztcblx0YmFja2dyb3VuZDogbGlnaHRlbigkY29yZS1ib3JkZXItY29sb3IsMTAlKTtcblx0cGFkZGluZzogMC41cmVtO1xufVxuXG50ZCB7XG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgbGlnaHRlbigkY29yZS1ib3JkZXItY29sb3IsNSUpOyBcbn1cbiIsIi5idXR0b24ge1xuXHRAZXh0ZW5kICVidXR0b247XG5cdEBpbmNsdWRlIGJ1dHRvbi1jb2xvcigkY29yZS1hY2NlbnQpO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeSB7XG5cdEBleHRlbmQgJWJ1dHRvbjtcblx0QGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRzZWNvbmRhcnktbGluayk7XG59IiwiLmJ1bGxldHMge1xuXHRtYXJnaW46ICRsZWFkaW5nLW1hcmdpbiAwO1xuXHRtYXJnaW4tbGVmdDogLSRsZWFkaW5nLW1hcmdpbiAvIDI7XG5cdG1hcmdpbi1yaWdodDogLSRsZWFkaW5nLW1hcmdpbiAvIDI7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4uYnVsbGV0IHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHBhZGRpbmc6IDAgJGxlYWRpbmctbWFyZ2luIC8gMjtcbn1cblxuLnR3by1jb2x1bW4tYnVsbGV0IHtcblx0QGluY2x1ZGUgY29sdW1ucygyKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdEBpbmNsdWRlIGNvbHVtbnMoMSk7XG5cdH1cbn1cblxuLnRocmVlLWNvbHVtbi1idWxsZXQge1xuXHRAaW5jbHVkZSBjb2x1bW5zKDMpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG5cdFx0QGluY2x1ZGUgY29sdW1ucygxKTtcblx0fVxufVxuXG4uZm91ci1jb2x1bW4tYnVsbGV0IHtcblx0QGluY2x1ZGUgY29sdW1ucyg0KTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdEBpbmNsdWRlIGNvbHVtbnMoMSk7XG5cdH1cbn1cblxuLmJ1bGxldC1pY29uIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdGJhY2tncm91bmQ6ICRidWxsZXQtaWNvbi1jb2xvci0xO1xuXHRwYWRkaW5nOiAkYnVsbGV0LWljb24tc2l6ZSAvIDQ7XG5cdHdpZHRoOiAkYnVsbGV0LWljb24tc2l6ZTtcblx0aGVpZ2h0OiAkYnVsbGV0LWljb24tc2l6ZTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LXNpemU6ICRidWxsZXQtaWNvbi1zaXplIC8gMjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnVsbGV0LWljb24tMSB7XG5cdGJhY2tncm91bmQ6ICRidWxsZXQtaWNvbi1jb2xvci0xO1xufVxuXG4uYnVsbGV0LWljb24tMiB7XG5cdGJhY2tncm91bmQ6ICRidWxsZXQtaWNvbi1jb2xvci0yO1xufVxuXG4uYnVsbGV0LWljb24tMyB7XG5cdGJhY2tncm91bmQ6ICRidWxsZXQtaWNvbi1jb2xvci0zO1xufVxuXG4uYnVsbGV0LWNvbnRlbnQge1xuXHRtYXJnaW4tbGVmdDogJGJ1bGxldC1pY29uLXNpemUgKiAxLjM7XG59IiwiJHNpZGViYXItY29sb3I6ICAgICAjMzMzO1xuJHBhbmVsLXBhZGRpbmc6ICAgICAxcmVtO1xuJHBhbmVsLXRleHQ6ICAgICAgICAjZGRkO1xuXG4uc2Itc2xpZGViYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbiNwYW5lbCB7XG4gICAgcGFkZGluZy10b3A6ICRwYW5lbC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkcGFuZWwtdGV4dDtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFuZWwtdGV4dDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRwYW5lbC10ZXh0LDIwJSk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2lkZWJhci1jb2xvciw1JSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS10ZXh0O1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS10ZXh0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0ZW4oJHNpZGViYXItY29sb3IsNCUpO1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbigkc2lkZWJhci1jb2xvciw0JSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJHBhbmVsLXRleHQsIDEwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMXJlbSAwLjJyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJcbi8vIE1vZGFsIFdpbmRvd1xuLnBvcnRmb2xpby1tb2RhbCAuY2xvc2UtbW9kYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiA1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5tb2RhbCB7XG4gICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgcCwgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmluIHtcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgfVxuICAgIC5jbGllbnQtZGV0YWlscyB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDM1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTVyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmJsb2ctaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcblxuICAgICYuYmxvZy1oZWFkZXItaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgKyAuYmxvZy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLXZlcnQ7XG4gICAgfVxufVxuXG4vLyBMaXN0IEJsb2cgSXRlbVxuLmxpc3QtaXRlbSB7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRib3JkZXItY29sb3IsIDglKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy12ZXJ0O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLmxpc3QtYmxvZy1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0LWJsb2ctZGF0ZSwgLmxpc3QtYmxvZy1hdXRob3Ige1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRsaWdodC1ncmF5LCAwLjkpO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkY29yZS1mb250LXNpemU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY29yZS10ZXh0O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQmlnZ2VyIGZpcnN0IHBhcmFcbi5ibG9nLWNvbnRlbnQtaXRlbSB7XG4gICAgLmxpc3QtYmxvZy1wYWRkaW5nID4gcDpudGgtY2hpbGQoMikge1xuICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZSArIDAuMnJlbTtcbiAgICB9XG59XG5cbi8vIFRhZ3Ncbi50YWdzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGxpZ2h0LWdyYXksIDAuOSk7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb3JlLXRleHQ7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIixcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYTphZnRlciB7ZGlzcGxheTogbm9uZTt9IFxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi8vIEFyY2hpdmVzICYgUmVsYXRlZC1QYWdlc1xuLmFyY2hpdmVzLCAucmVsYXRlZC1wYWdlcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY29yZS1mb250LXNpemUgKyAxcmVtO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjb3JlLXRleHQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlbGF0ZWQtcGFnZXMge1xuICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2NvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgZm9udC1zaXplOiA4NSVcbiAgICB9XG59XG5cbi8vIFN5bmRpY2F0ZVxuLnN5bmRpY2F0ZSB7XG4gICAgYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxufVxuXG4vLyBCcmVhZGNydW1ic1xuZGl2I2JyZWFkY3J1bWJzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gU2lkZWJhclxuI3NpZGViYXIge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLnNpZGViYXItY29udGVudCB7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIHAsIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmctdmVydDtcbiAgICB9XG59XG5cbi8vIFBhZ2luYXRpb25cbnVsLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMCAwICRwYWRkaW5nLXZlcnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBQcmV2IC8gTmV4dFxuLnByZXYtbmV4dCB7XG4gICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvLyBNb2R1bGFyIFNob3djYXNlIHN0eWxpbmdcbi5hcmNoaXZlLWxpc3Qge1xuICAgIGg0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogOTAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkY29yZS10ZXh0LCAwLjgpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIEBleHRlbmQgaDQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufSIsIi8vIEVycm9yIHNwZWNpZmljIHN0eWxpbmdcbiNlcnJvciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206IDEycmVtO1xuXG5cdGgxIHtcblx0XHRmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZSArIDQuMHJlbTtcblx0fVxuXG5cdHAge1xuXHRcdG1hcmdpbjogMXJlbSAwO1xuXHR9XG59XG5cbi5lcnJvciAjYm9keSB7XG5cdHBhZGRpbmctdG9wOiAxNnJlbTtcbn0iLCIuc2ltcGxlc2VhcmNoIHtcblxuICAgIGgxIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuY2VudGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuXG4gICAgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMzByZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWRldGFpbHMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRjb3JlLXRleHQsMjAlKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjJyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICB9XG5cbn1cbiIsIi8vIFlvdXIgY3VzdG9tIFNDU1Mgc2hvdWxkIGJlIHdyaXR0ZW4gaGVyZS4uLlxuXG4uZ3Jhdi1saWdodHNsaWRlciB7XG4gICAgLmxTU2xpZGVPdXRlciB7XG4gICAgICAgIC5sU1BhZ2VyLmxTcGcge1xuICAgICAgICAgICAgPiBsaSBhIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jYm9keSA+IHNjcmlwdDpmaXJzdC1jaGlsZCArIC5ncmF2LWxpZ2h0c2xpZGVyIHtcbiAgbWFyZ2luLXRvcDogLTNyZW07XG59IiwiQGltcG9ydCBcInNob3djYXNlXCI7XG5AaW1wb3J0IFwiZmVhdHVyZXNcIjtcbkBpbXBvcnQgXCJib3R0b21cIjtcbkBpbXBvcnQgXCJjb250YWN0XCI7XG5AaW1wb3J0IFwidGV4dFwiO1xuQGltcG9ydCBcInRlYW1cIjtcbkBpbXBvcnQgXCJwb3J0Zm9saW9cIjtcblxuLmxvZ28ge1xuICAgIGgzIHtcbiAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWxvZ287XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29yZS10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib2R5LWJvcmRlcjtcblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICYuc29jaWFsLWljb25zIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIuMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuMXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4xcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gbWFjYm9va1xuICAgIC5ub3RlYm9va3tcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDMzJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3AtcmFuZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTUuMXJlbTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgLm5vdGVib29rIC5zY3JlZW46YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFNUVCRUQ7XG4gICAgICAgIGhlaWdodDogMC4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDAuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMCA4LjYyNXJlbTtcbiAgICB9XG4gICAgLm5vdGVib29rIC5zY3JlZW57XG4gICAgICAgIGJhY2tncm91bmQ6IzQ2NEM1MTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtIDAuNXJlbSAwIDA7XG4gICAgICAgIGhlaWdodDogMTEuNzJyZW07XG4gICAgICAgIHdpZHRoOiAxOC4yOHJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgLnNjcmVlbi1jb250ZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAuMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxNi43M3JlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC44cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXRcbiAgICAgICAgfVxuICAgICAgICAuc2NyZWVuLWNvbnRlbnQtaG92ZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICBoZWlnaHQ6IDEwLjFyZW07XG4gICAgICAgICAgICB3aWR0aDogMTYuNzNyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjhyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBjb2xvcjogIzQ2NEM1MTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgIC5mYS1hcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0LjdyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5vdGVib29rIC5zY3JlZW46YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzE2MUIyMTtcbiAgICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgICAgd2lkdGg6IDE2LjYzcmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwLjg3NXJlbSAwIDAgMC44MTI1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDFzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIC5ub3RlYm9vayAua2V5Ym9hcmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjREZEQ0RDO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4zMTI1cmVtIDAuMzEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICB3aWR0aDogMjEuODhyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAubm90ZWJvb2sgLmtleWJvYXJkOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNzU3OTc5O1xuICAgICAgICBoZWlnaHQ6IDAuMzc1cmVtO1xuICAgICAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDAgOS4zNzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjVyZW0gMC41cmVtO1xuICAgIH1cbiAgICAua2V5Ym9hcmQ6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgICAgd2lkdGg6IDIzLjEzcmVtO1xuICAgICAgICBtYXJnaW46IDAuNDM3NXJlbSAwIDAgLTAuNjI1cmVtO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB9XG4iLCIvLyBNb2R1bGFyIFNob3djYXNlIHN0eWxpbmdcbi5tb2R1bGFyIHtcblxuLy8gc3BlY2lhbCBjYXNlIGZvciBoZWFkZXJcbiYuaGVhZGVyLWltYWdlIHtcbiAgICAjaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAjbG9nbyBoMyB7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci10ZXh0O1xuICAgICAgICB9XG4gICAgICAgICNuYXZiYXIgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci10ZXh0O1xuICAgICAgICB9XG4gICAgfVxufVxuLnNsaWRlbWVfY29udGFpbmVyIHtcbiAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgIG1hcmdpbi10b3A6IC0gJGhlYWRlci1oZWlnaHQgLSAzcmVtO1xuICAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQgKyAzcmVtO1xuICAgICBoZWlnaHQ6IDM0LjdyZW07XG59XG4uc2hvd2Nhc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggM3B4ICM2NTYxNjE7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXo7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xuICAgICAgICB9XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICB9XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggM3B4ICM2NTYxNjE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLWhvcml6O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1ob3JpejtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgY29sb3I6ICRoZWFkZXItdGV4dDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuM3JlbSAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkaGVhZGVyLXRleHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIFNsaWRlc2hvdyBBcnJvd3MgYW5kIFBhZ2luYXRpb25cbi5zbGlkZW1lX2NvbnRhaW5lciB7XG4gICAgLmFycm93IHtcbiAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xucGFkZGluZy1sZWZ0OiAwLjhyZW07XG5wYWRkaW5nLXJpZ2h0OiAwLjhyZW07XG5wYWRkaW5nLXRvcDogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMy44cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjhyZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7b3BhY2l0eTogMTt9XG4gICAgICAgICYucHJldiB7XG4gICAgICAgICAgICBsZWZ0OiA0cmVtO1xuICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgcmlnaHQ6IDRyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6ZGlzYWJsZWQge29wYWNpdHk6IDAuMX1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgd2lkdGg6IDIuN3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi43cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hcnJvdy5uZXh0OmJlZm9yZSB7Y29udGVudDogJ1xcZjA1NCc7Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO21hcmdpbi1sZWZ0OiAwLjRyZW07fVxuICAgIC5hcnJvdy5wcmV2OmJlZm9yZSB7Y29udGVudDogJ1xcZjA1Myc7Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO21hcmdpbi1yaWdodDogMC41cmVtO31cblxuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm90dG9tOiA1JTtcbiAgICAgICAgLm51bWJlcnMge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oMC4ycyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjJyZW07XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxufVxuIiwiLy8gTW9kdWxhciBTaG93Y2FzZSBzdHlsaW5nXG4ubW9kdWxhciB7XG4gICAgLmZlYXR1cmVzIHtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTsgXG4gICAgICAgIH1cblxuICAgICAgICBociB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci10ZXh0O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mZWF0dXJlLWl0ZW1zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICBAc3VwcG9ydHMgbm90IChmbGV4LXdyYXA6IHdyYXApIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmUge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtbW9iaWxlLXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1tb2JpbGUtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpLmZhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuMnJlbSAwIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmJpZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAuZmVhdHVyZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkuZmEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgICAgICAgICAgICAgICAmLmljb24tb2Zmc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiLy8gTW9kdWxhciBCb3R0b20gc3R5bGluZ1xuLm1vZHVsYXIge1xuICAgIC5ib3R0b20ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5OyBcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci10ZXh0O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb3JlLWFjY2VudCwgMjAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmJvcmRlcmJvdHRvbSB7XG4gICAgICAgICAgICBociB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgaDQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyAgXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2VydmljZXMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICAuc2VydmljZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDdyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uYWJvdXQge1xuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgfVxufVxuIiwiLy8gTW9kdWxhciBDb250YWN0IHN0eWxpbmdcbi5jb250YWN0IHtcbiAgICBoNCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDcwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIG1pbi13aWR0aDogODAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDkwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRjb3JlLXRleHQsIDAuOCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRjb3JlLXRleHQsIDAuODkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCBoNDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICNzaW1wbGVfZm9ybS1zdWNjZXNzLCAjc2ltcGxlX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gdmFyaWFibGVzXG4kdGV4dC1iZzogICAgICAgICNFRUVFRUU7XG4kdGV4dC1wYWRkaW5nOiAgIDJyZW07XG4kaW1hZ2UtbWFyZ2luOiAgICAgIDJyZW07XG5cblxuLy8gc3R5bGluZ1xuLmNhbGxvdXQge1xuICAgIGJhY2tncm91bmQ6ICR0ZXh0LWJnO1xuICAgIHBhZGRpbmc6ICR0ZXh0LXBhZGRpbmcgJGNvbnRlbnQtcGFkZGluZztcbiAgICBwYWRkaW5nLXRvcDogJHRleHQtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLW9ubHkpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuY2FsbG91dC1saW5lIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2UtYmc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDdyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgICAucHJpY2luZy1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMzFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnByaWNpbmctaXRlbSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyLjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSwxLjAzKTtcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTpzY2FsZSgxLDEuMDMpO1xuICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06c2NhbGUoMSwxLjAzKTtcbiAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06c2NhbGUoMSwxLjAzKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06c2NhbGUoMSwxLjAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1haW4tYmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgIEBleHRlbmQgaDQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbmZvIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLWNvbG9yIDFweCBzb2xpZDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLWNvbG9yIDFweCBzb2xpZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb290IHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIGg0O1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOXJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC43NSk7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjg1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1cCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gdmFyaWFibGVzXG4kbW9kdWxlLWJnOiAgICAgICAgI0VFRUVFRTtcblxuLy8gc3R5bGluZ1xuLnRlYW0ge1xuICAgIGJhY2tncm91bmQ6ICRtb2R1bGUtYmc7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIH1cbiAgICAubWVtYmVycyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgICAgLm1lbWJlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAyOSU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogNDQlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc29jaWFsLWljb25zIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi4xcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi4xcmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIHZhcmlhYmxlc1xuJHRleHQtYmc6ICAgICAgICAjRUVFRUVFO1xuJHRleHQtcGFkZGluZzogICAycmVtO1xuJGltYWdlLW1hcmdpbjogICAgICAycmVtO1xuXG5cbi8vIHN0eWxpbmdcbi5wb3J0Zm9saW8ge1xuICAgIHBhZGRpbmc6ICR0ZXh0LXBhZGRpbmcgJGNvbnRlbnQtcGFkZGluZztcbiAgICBwYWRkaW5nLXRvcDogJHRleHQtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLW9ubHkpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICB9XG4gICAgLm5vdGVib29rcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgIC5ub3RlYm9vay1yb3cge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC05MHB4IDBweCAtMjBweCAkbWFpbi1iZztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJHBhZGRpbmctaG9yaXo7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kcGFkZGluZy1ob3JpejtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXo7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1ob3JpejtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZXh0LWJnO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRwYWRkaW5nLWhvcml6ICsgNHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kcGFkZGluZy1ob3JpeiArIDRyZW0gO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubm90ZWJvb2sge1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjQlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3AtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNCU7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTcwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00LjdyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwtbW9iaWxlLXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkE2RkVBLEFOTUEsT01OTyxDQWlDSCxLQUFLLENBQ0QsRUFBRSxFQWxDVixPQUFPLENBaUNILEtBQUssQ0FRRCxFQUFFLEFBQ0csYUFBYSxFQTFDMUIsT0FBTyxDQWdESCxXQUFXLEVBaERmLE9BQU8sQ0FzSUgsT0FBTyxDQVlILEVBQUUsQUFNRyxXQUFXLEVBeEp4QixPQUFPLENBc0lILE9BQU8sQ0F5RkgsaUJBQWlCLENOek5ULEVBQ2YsUUFBUSxFQUFFLFFBQVEsRUFDbEIsR0FBRyxFQUFFLEdBQUcsRTFCREQsaUJBQW9CLEUwQkVSLGdCQUFnQixFMUJHNUIsY0FBaUIsRTBCSEwsZ0JBQWdCLEUxQlE1QixhQUFnQixFMEJSSixnQkFBZ0IsRTFCYTVCLFlBQWUs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 */ +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY3NzIiwic291cmNlcyI6WyJ0ZW1wbGF0ZS5zY3NzIiwidmVuZG9yL2JvdXJib24vX2JvdXJib24uc2NzcyIsInZlbmRvci9ib3VyYm9uL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwidmVuZG9yL2JvdXJib24vc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19pcy1udW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3NoYXBlLXNpemUtc3RyaXBwZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fYXNzaWduLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2NvbG9yLWxpZ2h0bmVzcy5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19mbGV4LWdyaWQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fZ29sZGVuLXJhdGlvLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2dyaWQtd2lkdGguc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fdGludC1zaGFkZS5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL190cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm94LXNpemluZy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19rZXlmcmFtZXMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2xpbmVhci1ncmFkaWVudC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fcGVyc3BlY3RpdmUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fdHJhbnNmb3JtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fYnV0dG9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19lbGxpcHNpcy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19mb250LWZhbWlseS5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19oaWRlLXRleHQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9faHRtbDUtaW5wdXQtdHlwZXMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3NpemUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fdGltaW5nLWZ1bmN0aW9ucy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL190cmlhbmdsZS5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL193b3JkLXdyYXAuc2NzcyIsInZlbmRvci9ib3VyYm9uL19ib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmcuc2NzcyIsImNvbmZpZ3VyYXRpb24vbnVjbGV1cy9fYmFzZS5zY3NzIiwiY29uZmlndXJhdGlvbi9udWNsZXVzL19jb3JlLnNjc3MiLCJjb25maWd1cmF0aW9uL251Y2xldXMvX2JyZWFrcG9pbnRzLnNjc3MiLCJjb25maWd1cmF0aW9uL251Y2xldXMvX2xheW91dC5zY3NzIiwiY29uZmlndXJhdGlvbi9udWNsZXVzL190eXBvZ3JhcGh5LnNjc3MiLCJjb25maWd1cmF0aW9uL251Y2xldXMvX25hdi5zY3NzIiwiY29uZmlndXJhdGlvbi90ZW1wbGF0ZS9fYmFzZS5zY3NzIiwiY29uZmlndXJhdGlvbi90ZW1wbGF0ZS9fY29sb3JzLnNjc3MiLCJjb25maWd1cmF0aW9uL3RlbXBsYXRlL190eXBvZ3JhcGh5LnNjc3MiLCJjb25maWd1cmF0aW9uL3RlbXBsYXRlL19idWxsZXRzLnNjc3MiLCJjb25maWd1cmF0aW9uL3RlbXBsYXRlL192YXJpYWJsZXMuc2NzcyIsIm51Y2xldXMvZnVuY3Rpb25zL19iYXNlLnNjc3MiLCJudWNsZXVzL2Z1bmN0aW9ucy9fZGlyZWN0aW9uLnNjc3MiLCJudWNsZXVzL2Z1bmN0aW9ucy9fcmFuZ2Uuc2NzcyIsIm51Y2xldXMvZnVuY3Rpb25zL191dGlsaXRpZXMuc2NzcyIsIm51Y2xldXMvbWl4aW5zL19iYXNlLnNjc3MiLCJudWNsZXVzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIm51Y2xldXMvbWl4aW5zL19uYXYuc2NzcyIsIm51Y2xldXMvbWl4aW5zL190eXBvZ3JhcGh5LnNjc3MiLCJudWNsZXVzL21peGlucy9fdXRpbGl0aWVzLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGVzL19iYXNlLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGVzL19idXR0b25zLnNjc3MiLCJ0ZW1wbGF0ZS9fY29yZS5zY3NzIiwidGVtcGxhdGUvX2ZvbnRzLnNjc3MiLCJ0ZW1wbGF0ZS9fZXh0ZW5zaW9ucy5zY3NzIiwidGVtcGxhdGUvX2hlYWRlci5zY3NzIiwidGVtcGxhdGUvX2Zvb3Rlci5zY3NzIiwidGVtcGxhdGUvX3R5cG9ncmFwaHkuc2NzcyIsInRlbXBsYXRlL19mb3Jtcy5zY3NzIiwidGVtcGxhdGUvX3RhYmxlcy5zY3NzIiwidGVtcGxhdGUvX2J1dHRvbnMuc2NzcyIsInRlbXBsYXRlL19idWxsZXRzLnNjc3MiLCJ0ZW1wbGF0ZS9fcGFuZWwuc2NzcyIsInRlbXBsYXRlL19tb2RhbC5zY3NzIiwidGVtcGxhdGUvX2Jsb2cuc2NzcyIsInRlbXBsYXRlL19hcmNoaXZlLnNjc3MiLCJ0ZW1wbGF0ZS9fZXJyb3JzLnNjc3MiLCJ0ZW1wbGF0ZS9fc2ltcGxlc2VhcmNoLnNjc3MiLCJ0ZW1wbGF0ZS9fY3VzdG9tLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19hbGwuc2NzcyIsInRlbXBsYXRlL21vZHVsYXIvX3Nob3djYXNlLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19mZWF0dXJlcy5zY3NzIiwidGVtcGxhdGUvbW9kdWxhci9fYm90dG9tLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19jb250YWN0LnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL190ZXh0LnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL190ZWFtLnNjc3MiLCJ0ZW1wbGF0ZS9tb2R1bGFyL19wb3J0Zm9saW8uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBSRVFVSVJFRCBERVBFTkRFTkNJRVMgLSBETyBOT1QgQ0hBTkdFXG5cbi8vIExvYWQgVGhpcmQgUGFydHkgTGlicmFyaWVzXG5AaW1wb3J0IFwidmVuZG9yL2JvdXJib24vYm91cmJvblwiO1xuXG4vLyBMb2FkIE51Y2xldXMgQ29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ3VyYXRpb24vbnVjbGV1cy9iYXNlXCI7XG5cbi8vIExvYWQgVGVtcGxhdGUgQ29uZmlndXJhdGlvblxuQGltcG9ydCBcImNvbmZpZ3VyYXRpb24vdGVtcGxhdGUvYmFzZVwiO1xuXG4vLyBMb2FkIE51Y2xldXMgTWl4aW5zIGFuZCBGdW5jdGlvbnNcbkBpbXBvcnQgXCJudWNsZXVzL2Z1bmN0aW9ucy9iYXNlXCI7XG5AaW1wb3J0IFwibnVjbGV1cy9taXhpbnMvYmFzZVwiO1xuXG4vLyBMb2FkIFRlbXBsYXRlIExpYnJhcnlcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9tb2R1bGVzL2Jhc2VcIjtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFRFTVBMQVRFIENPTVBPTkVOVFNcblxuLy8gQ29yZVxuQGltcG9ydCBcInRlbXBsYXRlL2NvcmVcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9mb250c1wiO1xuXG4vLyBFeHRlbnNpb25zXG5AaW1wb3J0IFwidGVtcGxhdGUvZXh0ZW5zaW9uc1wiO1xuXG4vLyBIZWFkZXJcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9oZWFkZXJcIjtcblxuLy8gRm9vdGVyXG5AaW1wb3J0IFwidGVtcGxhdGUvZm9vdGVyXCI7XG5cbi8vIFR5cG9ncmFwaHlcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS90eXBvZ3JhcGh5XCI7XG5cbi8vIEZvcm1zXG5AaW1wb3J0IFwidGVtcGxhdGUvZm9ybXNcIjtcblxuLy8gVGFibGVzXG5AaW1wb3J0IFwidGVtcGxhdGUvdGFibGVzXCI7XG5cbi8vIEJ1dHRvbnNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9idXR0b25zXCI7XG5cbi8vIEJ1bGxldHNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9idWxsZXRzXCI7XG5cbi8vIFB1c2h5IFBhbmVsXG5AaW1wb3J0IFwidGVtcGxhdGUvcGFuZWxcIjtcblxuLy8gTW9kYWwgd2luZG93XG5AaW1wb3J0IFwidGVtcGxhdGUvbW9kYWxcIjtcblxuLy8gQmxvZ1xuQGltcG9ydCBcInRlbXBsYXRlL2Jsb2dcIjtcblxuLy8gQXJjaGl2ZVxuQGltcG9ydCBcInRlbXBsYXRlL2FyY2hpdmVcIjtcblxuLy8gRXJyb3JzXG5AaW1wb3J0IFwidGVtcGxhdGUvZXJyb3JzXCI7XG5cbi8vIFNpbXBsZVNlYXJjaFxuQGltcG9ydCBcInRlbXBsYXRlL3NpbXBsZXNlYXJjaFwiO1xuXG4vLyBDdXN0b21cbkBpbXBvcnQgXCJ0ZW1wbGF0ZS9jdXN0b21cIjtcblxuLy8gTW9kdWxhclxuQGltcG9ydCBcInRlbXBsYXRlL21vZHVsYXIvYWxsXCI7XG4iLCIvLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcblxuLy8gQ3VzdG9tIEhlbHBlcnNcbkBpbXBvcnQgXCJoZWxwZXJzL2NvbnZlcnQtdW5pdHNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2lzLW51bVwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG4vLyBDdXN0b20gRnVuY3Rpb25zXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnblwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvci1saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZmxleC1ncmlkXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2dvbGRlbi1yYXRpb1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9ncmlkLXdpZHRoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnQtc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuXG4vLyBDU1MzIE1peGluc1xuQGltcG9ydCBcImNzczMvYW5pbWF0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZmFjZS12aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJjc3MzL2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2NhbGNcIjtcbkBpbXBvcnQgXCJjc3MzL2NvbHVtbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ZpbHRlclwiO1xuQGltcG9ydCBcImNzczMvZmxleC1ib3hcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmFjZVwiO1xuQGltcG9ydCBcImNzczMvaHlwaGVuc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9yYWRpYWwtZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcbkBpbXBvcnQgXCJjc3MzL3BsYWNlaG9sZGVyXCI7XG5cbi8vIEFkZG9ucyAmIG90aGVyIG1peGluc1xuQGltcG9ydCBcImFkZG9ucy9idXR0b25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2VsbGlwc2lzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2ZvbnQtZmFtaWx5XCI7XG5AaW1wb3J0IFwiYWRkb25zL2hpZGUtdGV4dFwiO1xuQGltcG9ydCBcImFkZG9ucy9odG1sNS1pbnB1dC10eXBlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcImFkZG9ucy9wcmVmaXhlclwiO1xuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcbkBpbXBvcnQgXCJhZGRvbnMvc2l6ZVwiO1xuQGltcG9ydCBcImFkZG9ucy90aW1pbmctZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3dvcmQtd3JhcFwiO1xuXG4vLyBTb29uIHRvIGJlIGRlcHJlY2F0ZWQgTWl4aW5zXG5AaW1wb3J0IFwiYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nXCI7XG4iLCIvLyBWYXJpYWJsZSBzZXR0aW5ncyBmb3IgL2FkZG9ucy9wcmVmaXhlci5zY3NzXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1tb3ppbGxhOiAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1taWNyb3NvZnQ6IHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XG4kcHJlZml4LWZvci1zcGVjOiAgICAgIHRydWUgIWRlZmF1bHQ7IC8vIHJlcXVpcmVkIGZvciBrZXlmcmFtZSBtaXhpblxuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6ICdweCcgJ2NtJyAnbW0nICclJyAnY2gnICdwaWNhJyAnaW4nICdlbScgJ3JlbScgJ3B0JyAncGMnICdleCcgJ3Z3JyAndmgnICd2bWluJyAndm1heCcsICdkZWcnLCAncmFkJywgJ2dyYWQnLCAndHVybic7XG4gICR1bml0czogICAxcHggIDFjbSAgMW1tICAxJSAgMWNoICAxcGljYSAgMWluICAxZW0gIDFyZW0gIDFwdCAgMXBjICAxZXggIDF2dyAgMXZoICAxdm1pbiAgMXZtYXgsICAxZGVnLCAgMXJhZCwgIDFncmFkLCAxdHVybjtcbiAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJHVuaXQpO1xuXG4gIEBpZiBub3QgJGluZGV4IHtcbiAgICBAd2FybiBcIlVua25vd24gdW5pdCBgI3skdW5pdH1gLlwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiAkbnVtYmVyICogbnRoKCR1bml0cywgJGluZGV4KTtcbn1cbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfaXMtbnVtKCRjaGFyKSB7XG4gICR2YWx1ZXM6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JyAwIDEgMiAzIDQgNSA2IDcgOCA5O1xuICAkaW5kZXg6IGluZGV4KCR2YWx1ZXMsICRjaGFyKTtcbiAgQHJldHVybiBpZigkaW5kZXgsIHRydWUsIGZhbHNlKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpIHtcbiAgJG9mZnNldDogbnVsbDtcbiAgJHVuaXQtc2hvcnQ6ICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDIsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdW5pdC1sb25nOiAgIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgQGlmICgkdW5pdC1sb25nID09IFwiZ3JhZFwiKSBvclxuICAgICAgKCR1bml0LWxvbmcgPT0gXCJ0dXJuXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1sb25nID09IFwiZ3JhZFwiLCAtMTAwZ3JhZCAqIDMsIC0wLjc1dHVybik7XG4gIH1cblxuICBAZWxzZSBpZiAoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIikgb3JcbiAgICAgICAgICAgKCR1bml0LXNob3J0ID09IFwicmFkXCIpIHtcbiAgICAkb2Zmc2V0OiBpZigkdW5pdC1zaG9ydCA9PSBcImRlZ1wiLCAtOTAgKiAzLCAxLjZyYWQpO1xuICB9XG5cbiAgQGlmICRvZmZzZXQge1xuICAgICRudW06IF9zdHItdG8tbnVtKCRmaXJzdC12YWwpO1xuXG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICgkb2Zmc2V0IC0gJG51bSkgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxufVxuIiwiQGZ1bmN0aW9uIF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRoYXMtbXVsdGlwbGUtdmFsczogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiIFwiKTtcbiAgJGhhcy1zaW5nbGUtcG9zaXRpb246IHVucXVvdGUoX3Bvc2l0aW9uLWZsaXBwZXIoJGZpcnN0LXZhbCkgKyBcIlwiKTtcbiAgJGhhcy1hbmdsZTogX2lzLW51bShzdHItc2xpY2UoJGZpcnN0LXZhbCwgMCwgMCkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gQHJldHVybiBpZigkcG9zID09IGxlZnQsIHJpZ2h0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSByaWdodCwgbGVmdCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IGJvdHRvbSwgdG9wLCBudWxsKTtcbn1cbiIsIi8vIFByaXZhdGUgZnVuY3Rpb24gZm9yIGxpbmVhci1ncmFkaWVudC1wYXJzZXJcbkBmdW5jdGlvbiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscykge1xuICAkdmFsLTE6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAkaGFzLW11bHRpcGxlLXZhbHMgLSAxICk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDAsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJEcxLCAkRzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJEcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkRzEge1xuICAgICAgICAgICAgJEcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkRzIge1xuICAgICAgICAgICAgJEcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRHMSwgJEcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSAnICAnKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCJcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAwLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2UgaWYgJGlzLXNwZWMtc3ludGF4ID09IDEge1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKVxuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCIvLyBVc2VyIGZvciBsaW5lYXIgYW5kIHJhZGlhbCBncmFkaWVudHMgd2l0aGluIGJhY2tncm91bmQtaW1hZ2Ugb3IgYm9yZGVyLWltYWdlIHByb3BlcnRpZXNcblxuQGZ1bmN0aW9uIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudHMsICRncmFkaWVudC10eXBlLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkcHJlLXNwZWM6IG51bGw7XG4gICRzcGVjOiBudWxsO1xuICAkdmVuZG9yLWdyYWRpZW50czogbnVsbDtcbiAgQGlmICRncmFkaWVudC10eXBlID09IGxpbmVhciB7XG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xuICAgICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsIHtcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAkc3BlYzogICAgIG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gIEBpZiAkdmVuZG9yIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogLSN7JHZlbmRvcn0tI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skcHJlLXNwZWN9ICRncmFkaWVudHMpO1xuICB9XG4gIEBlbHNlIGlmICR2ZW5kb3IgPT0gZmFsc2Uge1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiBcIiN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHNwZWN9ICN7JGdyYWRpZW50c30pXCI7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xuICB9XG4gIEByZXR1cm4gJHZlbmRvci1ncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpIHtcbiAgJHNoYXBlLXNpemUtc3BlYzogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcbiAgICBAaWYgKCR2YWx1ZSA9PSBcImNvdmVyXCIpIG9yICgkdmFsdWUgPT0gXCJjb250YWluXCIpIHtcbiAgICAgICR2YWx1ZTogbnVsbDtcbiAgICB9XG4gICAgJHNoYXBlLXNpemUtc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHZhbHVlfVwiO1xuICB9XG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgbGluZWFyL3JhZGlhbC1ncmFkaWVudC1wYXJzZXJzLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9zdHItdG8tbnVtKCRzdHJpbmcpIHtcbiAgLy8gTWF0cmljZXNcbiAgJHN0cmluZ3M6ICcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JztcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICctJyB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpdmlkZXI6IDE7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgICAkcmVzdWx0OiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG4gICAgICAgIEByZXR1cm4gX2NvbnZlcnQtdW5pdHMoJHJlc3VsdCwgc3RyLXNsaWNlKCRzdHJpbmcsICRpKSk7XG4gICAgICB9XG5cbiAgICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcblxuICAgICAgQGlmICRkaXZpZGVyID09IDAge1xuICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTA7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgLy8gTW92ZSB0aGUgZGVjaW1hbCBkb3QgdG8gdGhlIGxlZnRcbiAgICAgICAgJGRpdmlkZXI6ICRkaXZpZGVyICogMTA7XG4gICAgICAgICRudW1iZXI6ICRudW1iZXIgLyAkZGl2aWRlcjtcbiAgICAgIH1cblxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArICRudW1iZXI7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xufVxuIiwiQGZ1bmN0aW9uIGFzc2lnbi1pbnB1dHMoJGlucHV0cywgJHBzZXVkbzogbnVsbCkge1xuICAkbGlzdCA6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59IiwiLy8gUHJvZ3JhbWF0aWNhbGx5IGRldGVybWluZXMgd2hldGhlciBhIGNvbG9yIGlzIGxpZ2h0IG9yIGRhcmtcbi8vIFJldHVybnMgYSBib29sZWFuXG4vLyBNb3JlIGRldGFpbHMgaGVyZSBodHRwOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL2Nsb3Nlci1sb29rLWNvbG9yLWxpZ2h0bmVzc1xuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtZ3JlZW46IGdyZWVuKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEuMCkpO1xuXG4gICQtbG9jYWwtbGlnaHRuZXNzOiAoJC1sb2NhbC1yZWQgKiAwLjIxMjYgKyAkLWxvY2FsLWdyZWVuICogMC43MTUyICsgJC1sb2NhbC1ibHVlICogMC4wNzIyKSAvIDI1NTtcblxuICBAcmV0dXJuICQtbG9jYWwtbGlnaHRuZXNzID4gLjY7XG59XG4iLCIvLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbi8vIFRoZSAkZmctY29sdW1uLCAkZmctZ3V0dGVyIGFuZCAkZmctbWF4LWNvbHVtbnMgdmFyaWFibGVzIG11c3QgYmUgZGVmaW5lZCBpbiB5b3VyIGJhc2Ugc3R5bGVzaGVldCB0byBwcm9wZXJseSB1c2UgdGhlIGZsZXgtZ3JpZCBmdW5jdGlvbi5cbi8vIFRoaXMgZnVuY3Rpb24gdGFrZXMgdGhlIGZsdWlkIGdyaWQgZXF1YXRpb24gKHRhcmdldCAvIGNvbnRleHQgPSByZXN1bHQpIGFuZCB1c2VzIGNvbHVtbnMgdG8gaGVscCBkZWZpbmUgZWFjaC5cbi8vXG4vLyBUaGUgY2FsY3VsYXRpb24gcHJlc3VtZXMgdGhhdCB5b3VyIGNvbHVtbiBzdHJ1Y3R1cmUgd2lsbCBiZSBtaXNzaW5nIHRoZSBsYXN0IGd1dHRlcjpcbi8vXG4vLyAgIC0tIGNvbHVtbiAtLSBndXR0ZXIgLS0gY29sdW1uIC0tIGd1dHRlciAtLSBjb2x1bW5cbi8vXG4vLyAgJGZnLWNvbHVtbjogNjBweDsgICAgICAgICAgICAgLy8gQ29sdW1uIFdpZHRoXG4vLyAgJGZnLWd1dHRlcjogMjVweDsgICAgICAgICAgICAgLy8gR3V0dGVyIFdpZHRoXG4vLyAgJGZnLW1heC1jb2x1bW5zOiAxMjsgICAgICAgICAgLy8gVG90YWwgQ29sdW1ucyBGb3IgTWFpbiBDb250YWluZXJcbi8vXG4vLyAgZGl2IHtcbi8vICAgIHdpZHRoOiBmbGV4LWdyaWQoNCk7ICAgICAgICAvLyByZXR1cm5zICgzMTVweCAvIDk5NXB4KSA9IDMxLjY1ODI5JTtcbi8vICAgIG1hcmdpbi1sZWZ0OiBmbGV4LWd1dHRlcigpOyAvLyByZXR1cm5zICgyNXB4IC8gOTk1cHgpID0gMi41MTI1NiU7XG4vL1xuLy8gICAgcCB7XG4vLyAgICAgIHdpZHRoOiBmbGV4LWdyaWQoMiwgNCk7ICAvLyByZXR1cm5zICgxNDVweCAvIDMxNXB4KSA9IDQ2LjAzMTc0NiU7XG4vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8gICAgICBtYXJnaW46IGZsZXgtZ3V0dGVyKDQpOyAgLy8gcmV0dXJucyAoMjVweCAvIDMxNXB4KSA9IDcuOTM2NTA4JTtcbi8vICAgIH1cbi8vXG4vLyAgICBibG9ja3F1b3RlIHtcbi8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLyAgICAgIHdpZHRoOiBmbGV4LWdyaWQoMiwgNCk7IC8vIHJldHVybnMgKDE0NXB4IC8gMzE1cHgpID0gNDYuMDMxNzQ2JTtcbi8vICAgIH1cbi8vICB9IiwiQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCR2YWx1ZSwgJGluY3JlbWVudCwgJGdvbGRlbilcbn1cbiIsIkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xufVxuXG4vLyBUaGUgJGd3LWNvbHVtbiBhbmQgJGd3LWd1dHRlciB2YXJpYWJsZXMgbXVzdCBiZSBkZWZpbmVkIGluIHlvdXIgYmFzZSBzdHlsZXNoZWV0IHRvIHByb3Blcmx5IHVzZSB0aGUgZ3JpZC13aWR0aCBmdW5jdGlvbi5cbi8vXG4vLyAgJGd3LWNvbHVtbjogMTAwcHg7ICAgICAgICAgLy8gQ29sdW1uIFdpZHRoXG4vLyAgJGd3LWd1dHRlcjogNDBweDsgICAgICAgICAgLy8gR3V0dGVyIFdpZHRoXG4vL1xuLy8gIGRpdiB7XG4vLyAgICB3aWR0aDogZ3JpZC13aWR0aCg0KTsgICAgLy8gcmV0dXJucyA1MjBweDtcbi8vICAgIG1hcmdpbi1sZWZ0OiAkZ3ctZ3V0dGVyOyAvLyByZXR1cm5zIDQwcHg7XG4vLyAgfVxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJHZhbHVlLCAkaW5jcmVtZW50LCAkcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgZW0oMTIpIHdoZW4gdGhlIHBhcmVudCBpcyAxNnB4XG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxuXG5AZnVuY3Rpb24gZW0oJHB4dmFsLCAkYmFzZTogJGVtLWJhc2UpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XG59XG4iLCIvLyBTcnRpcHMgdGhlIHVuaXRzIGZyb20gYSB2YWx1ZS4gZS5nLiAxMnB4IC0+IDEyXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsKSB7XG4gIEByZXR1cm4gKCR2YWwgLyAoJHZhbCAqIDAgKyAxKSk7XG59XG4iLCIvLyBBZGQgcGVyY2VudGFnZSBvZiB3aGl0ZSB0byBhIGNvbG9yXG5AZnVuY3Rpb24gdGludCgkY29sb3IsICRwZXJjZW50KXtcbiAgQHJldHVybiBtaXgod2hpdGUsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuXG4vLyBBZGQgcGVyY2VudGFnZSBvZiBibGFjayB0byBhIGNvbG9yXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KGJsYWNrLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuXHQkbmV3LXByb3BzOiAoKTtcblx0XG5cdEBlYWNoICRwcm9wIGluICRwcm9wcyB7XG5cdFx0JG5ldy1wcm9wczogYXBwZW5kKCRuZXctcHJvcHMsIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvciksIGNvbW1hKTtcblx0fVxuXG5cdEByZXR1cm4gJG5ldy1wcm9wcztcbn1cblxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZSgkcHJvcCwgJHZlbmRvcjogZmFsc2UpIHtcblx0Ly8gcHV0IG90aGVyIHByb3BlcnRpZXMgdGhhdCBuZWVkIHRvIGJlIHByZWZpeGVkIGhlcmUgYXN3ZWxsXG5cdEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xuXHRcdEByZXR1cm4gdW5xdW90ZSgnLScrJHZlbmRvcisnLScrJHByb3ApO1xuXHR9XG5cdEBlbHNlIHtcblx0XHRAcmV0dXJuICRwcm9wO1xuXHR9XG59IiwiLy8gQ29udmVydCBzaG9ydGhhbmQgdG8gdGhlIDQtdmFsdWUgc3ludGF4XG5cbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xuICB9XG4gIEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfVxuICBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcbiAgfVxufVxuXG4iLCIvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI3RoZS1hbmltYXRpb24tbmFtZS1wcm9wZXJ0eS1cbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXG5cbi8vIE9mZmljaWFsIGFuaW1hdGlvbiBzaG9ydGhhbmQgcHJvcGVydHkuXG5AbWl4aW4gYW5pbWF0aW9uICgkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBJbmRpdmlkdWFsIEFuaW1hdGlvbiBQcm9wZXJ0aWVzXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUgKCRuYW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24gKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiAoJG1vdGlvbnMuLi4pIHtcbi8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCAoJHZhbHVlcy4uLikge1xuLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uICgkZGlyZWN0aW9ucy4uLikge1xuLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSAoJHN0YXRlcy4uLikge1xuLy8gcnVubmluZyB8IHBhdXNlZFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tcGxheS1zdGF0ZSwgJHN0YXRlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5ICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUgKCRtb2Rlcy4uLikge1xuLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gYXBwZWFyYW5jZSAoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2ZhY2UtdmlzaWJpbGl0eSBtaXhpblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcbi8vIG5vdGF0aW9uLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZCgkYmFja2dyb3VuZHMuLi4pIHtcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcblxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XG4gICAgJHNwZWMtYmFja2dyb3VuZDogKCk7XG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XG5cbiAgICBAaWYgJGJhY2tncm91bmQtdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICAgJHNwZWMtaW1hZ2U6ICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFNob3J0aGFuZCBCb3JkZXItcmFkaXVzIG1peGluc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItdG9wLWxlZnQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItdG9wLXJpZ2h0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaWkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci10b3AtcmlnaHQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcbn1cbiIsIkBtaXhpbiBib3gtc2l6aW5nICgkYm94KSB7XG4vLyAgY29udGVudC1ib3ggfCBib3JkZXItYm94IHwgaW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiAgICAgICAgIGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbi8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xuLy8gYXV0byB8fCBpbnRlZ2VyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1jb3VudCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJGxlbmd0aDogbm9ybWFsKSB7XG4vLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcbi8vIDxib3JkZXItd2lkdGg+IHx8IDxib3JkZXItc3R5bGU+IHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtY29sb3IsICRjb2xvciwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXN0eWxlKCRzdHlsZTogbm9uZSkge1xuLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4vLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4vLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4td2lkdGgsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gZmlsdGVyKCRmdW5jdGlvbjogbm9uZSkge1xuICAvLyA8ZmlsdGVyLWZ1bmN0aW9uPiBbPGZpbHRlci1mdW5jdGlvbl0qIHwgbm9uZVxuICBAaW5jbHVkZSBwcmVmaXhlcihmaWx0ZXIsICRmdW5jdGlvbiwgd2Via2l0IHNwZWMpO1xufVxuXG4iLCIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcblxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XG4vLyBzaW5nbGV8bXVsdGlwbGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMC4wKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vICBmbGV4IHwgaW5saW5lLWZsZXhcbiAgICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAgICAgLy8gMjAwOVxuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJveDtcblxuICAgICAgICAvLyAyMDEyXG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJpbmxpbmUtZmxleFwiIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG5cbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIGRpc3BsYXk6ICR2YWx1ZTtcbiAgICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAgIC8vIEdyYWIgZmxleC1ncm93IGZvciBvbGRlciBicm93c2Vycy5cbiAgICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcblxuICAgIC8vIDIwMDlcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJGZsZXgtZ3Jvdywgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTEgKElFIDEwKSwgMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSkgICAgICBcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gICAgLy8gQWx0IHZhbHVlcy5cbiAgICAkdmFsdWUtMjAwOTogJHZhbHVlO1xuICAgICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICAgJGRpcmVjdGlvbjogXCJub3JtYWxcIjtcblxuICAgIEBpZiAkdmFsdWUgPT0gcm93IHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJyb3ctcmV2ZXJzZVwiIHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAgICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAgICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAvLyAyMDA5XG4gICAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJHZhbHVlLTIwMDksIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgQGlmICRkaXJlY3Rpb24gPT0gXCJyZXZlcnNlXCIge1xuICAgICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAgIH1cblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWRpcmVjdGlvbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMSAoSUUgMTApXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG5cbiAgICAvLyBBbHQgdmFsdWVzLlxuICAgICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgICAgICRhbHQtdmFsdWU6IHNpbmdsZTtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAgICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1saW5lcywgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAgIC8vIDIwMDlcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihvcmRlciwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTEgKElFIDEwKVxuICAgIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWdyb3csICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtYmFzaXMgKG51bWJlcilcbkBtaXhpbiBmbGV4LWJhc2lzKCR3aWR0aDogYXV0bykge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50ICgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAgIC8vIEFsdCB2YWx1ZXMuXG4gICAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICAgIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgICB9XG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gMjAwOVxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gICAgLy8gMjAxMlxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGp1c3RpZnktY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICAgJGFsdC12YWx1ZTogJHZhbHVlO1xuXG4gICAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICAgIH0gICAgXG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gICAgfVxuXG4gICAgLy8gMjAwOVxuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG4gICAgXG4gICAgLy8gMjAxMSAoSUUgMTApXG4gICAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7ICAgIFxufVxuXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xuXG4gICAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICAgIH0gICAgXG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkdmFsdWUtMjAxMTogZW5kO1xuICAgIH1cblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICAgIH0gICAgXG5cbiAgICBAZWxzZWlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICAgICAkdmFsdWUtMjAxMTogZW5kO1xuICAgIH1cblxuICAgIEBlbHNlaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAgICAgJHZhbHVlLTIwMTE6IGp1c3RpZnk7XG4gICAgfVxuXG4gICAgQGVsc2VpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICAgIH1cblxuICAgIC8vIDIwMTJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgICAvLyAyMDExIChJRSAxMClcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuXG4iLCIvLyBPcmRlciBvZiB0aGUgaW5jbHVkZXMgbWF0dGVycywgYW5kIGl0IGlzOiBub3JtYWwsIGJvbGQsIGl0YWxpYywgYm9sZCtpdGFsaWMuXG5cbkBtaXhpbiBmb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkZmlsZS1wYXRoLCAkd2VpZ2h0OiBub3JtYWwsICRzdHlsZTogbm9ybWFsLCAkYXNzZXQtcGlwZWxpbmU6IGZhbHNlICkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcblxuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICBzcmM6IGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LmVvdCcpO1xuICAgICAgc3JjOiBmb250LXVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgICAgICAgICAgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgICBmb250LXVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgICAgICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgc3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90Jyk7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgICAgICAgICAgICAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICAgIHVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgICAgICAgICAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSAgICAgIGZvcm1hdCgnc3ZnJyk7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbi8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7cm91bmQoJHJhdGlvKjk2KX1kcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAjeyRyYXRpb31kcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOmF1dG8pIHtcblxuICBAaWYgKCRtb2RlID09IGNyaXNwLWVkZ2VzKSB7XG4gICAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IC1vLWNyaXNwLWVkZ2VzO1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogJG1vZGU7XG4gIH1cbn1cbiIsIi8vIEFkZHMga2V5ZnJhbWVzIGJsb2NrcyBmb3Igc3VwcG9ydGVkIHByZWZpeGVzLCByZW1vdmluZyByZWR1bmRhbnQgcHJlZml4ZXMgaW4gdGhlIGJsb2NrJ3MgY29udGVudFxuQG1peGluIGtleWZyYW1lcygkbmFtZSkge1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYTogICAkcHJlZml4LWZvci1tb3ppbGxhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQ6ICRwcmVmaXgtZm9yLW1pY3Jvc29mdDtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYzogICAgICAkcHJlZml4LWZvci1zcGVjO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcbiAgICAkcHJlZml4LWZvci13ZWJraXQ6IHRydWUgIWdsb2JhbDtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkRzEsICRHMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRHMTA6ICRHOTsgJEc5OiAkRzg7ICRHODogJEc3OyAkRzc6ICRHNjsgJEc2OiAkRzU7XG4gICAgICRHNTogJEc0OyAkRzQ6ICRHMzsgJEczOiAkRzI7ICRHMjogJEcxOyAkRzE6ICRwb3M7XG4gICAgICRwb3M6IG51bGw7XG4gIH1cblxuICBAaWYgJHBvcyB7XG4gICAgJHBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpO1xuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XG4gICAgJHBvcy1zcGVjOiAgIG50aCgkcG9zaXRpb25zLCAyKTtcbiAgfVxuXG4gICRmdWxsOiAkRzEsICRHMiwgJEczLCAkRzQsICRHNSwgJEc2LCAkRzcsICRHOCwgJEc5LCAkRzEwO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZhbGxiYWNrLWNvbG9yOiBudGgoJEcxLCAxKTtcblxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFsbGJhY2stY29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KCN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IDxsZW5ndGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLCAkZGVwdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBwZXJzcGVjdGl2ZS1vcmlnaW4oJHZhbHVlOiA1MCUgNTAlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkRzEsICRHMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xuICAkRzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgJyN7JHNoYXBlLXNpemV9LCAnLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsICcjeyRwb3N9LCAnLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9ICcgJykgYW5kICgkcG9zID09IG51bGwpLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSwgJywgJyN7JHNoYXBlLXNpemUtc3BlY30gJyk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuLy8gIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4vLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbi8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSAoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uICgkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICAgICRtb3o6IGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgICAkc3BlYzogYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGxpc3RzIGZvciBub24tcHJlZml4ZWQgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogIGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5ICgkcHJvcGVydGllcy4uLikge1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnd2Via2l0Jyk7XG4gICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICdtb3onKTtcbiAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkYXJnOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkYXJnLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJHBsYWNlaG9sZGVyczogXCI6LXdlYmtpdC1pbnB1dFwiIFwiOi1tb3pcIiBcIi1tb3pcIiBcIi1tcy1pbnB1dFwiO1xuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXIge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG59XG5cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG5cbi8vIFNpbXBsZSBCdXR0b25cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBtaXhpbiBzaW1wbGUoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTE0JSk7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtOCUsICAkbGlnaHRuZXNzOiAgMTUlKTtcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDE1JSwgJGxpZ2h0bmVzczogLTE4JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlcjogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3c7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdGV4dHNpemU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNyUsICRsaWdodG5lc3M6ICA1JSk7XG4gICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA4JSwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcbiAgICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG5cbi8vIFNoaW55IEJ1dHRvblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuXG4vLyBQaWxsIEJ1dHRvblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlLCAkdGV4dHNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xuICAkYm9yZGVyLXNpZGVzOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yMSUsICRsaWdodG5lc3M6IC0yMSUpO1xuICAkYm9yZGVyLXRvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0zMCUsICRsaWdodG5lc3M6IC0xNSUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDE0JSwgJGxpZ2h0bmVzczogLTEwJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTE5JSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgICAkdGV4dC1zaGFkb3c6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDEwJSwgJGxpZ2h0bmVzczogNCUpO1xuICB9XG5cbiAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGJvcmRlci1zaWRlczogIGdyYXlzY2FsZSgkYm9yZGVyLXNpZGVzKTtcbiAgICAkYm9yZGVyLXRvcDogICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzdG9wLWdyYWRpZW50OiBncmF5c2NhbGUoJHN0b3AtZ3JhZGllbnQpO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItdG9wO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xuICAgICRib3JkZXItYm90dG9tOiAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogIDEzLjUlLCAkbGlnaHRuZXNzOiAtMzIlKTtcbiAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNCwgJHNhdHVyYXRpb246IC0yJSwgICAgJGxpZ2h0bmVzczogLTI3JSk7XG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xuICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICAgICAgICAgICAkc2F0dXJhdGlvbjogLTElLCAgICAkbGlnaHRuZXNzOiAgMyUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA4LCAkc2F0dXJhdGlvbjogLTQlLCAgICAkbGlnaHRuZXNzOiAtMTUuNSUpO1xuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcbiAgICAgICRib3JkZXItc2lkZXM6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcbiAgICB9XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuXG5cbi8vIEZsYXQgQnV0dG9uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiA3cHggMThweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCl7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDQlLCAkbGlnaHRuZXNzOiA1JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItYWN0aXZlOiBncmF5c2NhbGUoJGJhc2UtY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1hY3RpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIvLyBNb2Rlcm4gbWljcm8gY2xlYXJmaXggcHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY29udGFpbiBmbG9hdHMgd2l0aG91dCBhZGRpbmcgYWRkaXRpb25hbCBtYXJrdXAuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTpcbi8vXG4vLyAgICAvLyBDb250YWluIGFsbCBmbG9hdHMgd2l0aGluIC53cmFwcGVyXG4vLyAgICAud3JhcHBlciB7XG4vLyAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8gICAgICAuY29udGVudCxcbi8vICAgICAgLnNpZGViYXIge1xuLy8gICAgICAgIGZsb2F0IDogbGVmdDtcbi8vICAgICAgfVxuLy8gICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgZGlzcGxheTp0YWJsZTtcbiAgICBjbGVhcjpib3RoO1xuICB9XG59XG5cbi8vIEFja25vd2xlZGdlbWVudHNcbi8vIEJlYXQgKnRoYXQqIGNsZWFyZml4OiBbVGhpZXJyeSBLb2JsZW50el0oaHR0cDovL3d3dy5jc3MtMTAxLm9yZy9hcnRpY2xlcy9jbGVhcmZpeC9sYXRlc3QtbmV3LWNsZWFyZml4LXNvLWZhci5waHApXG4iLCIvLyBkaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHNcbi8vIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vL1xuLy8gQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vIC0tLS0tLVxuLy8gbWFyZ2luLXJpZ2h0OiAwO1xuLy8gbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vIG1hcmdpbi1sZWZ0OiAwO1xuLy9cbi8vIC0gb3IgLVxuLy9cbi8vIEBpbmNsdWRlIGJvcmRlci1zdHlsZShkb3R0ZWQgbnVsbCk7XG4vLyAtLS0tLS1cbi8vIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcbi8vXG4vLyAtLS0tLS1cbi8vXG4vLyBOb3RlOiBZb3UgY2FuIGFsc28gdXNlIGZhbHNlIGluc3RlYWQgb2YgbnVsbFxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJEE6IG50aCggJHZhbHMsIDEgKTtcbiAgJEI6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMiwgJEEsIG50aCgkdmFscywgMikpO1xuICAkQzogaWYoIGxlbmd0aCgkdmFscykgPCAzLCAkQSwgbnRoKCR2YWxzLCAzKSk7XG4gICREOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDIsICRBLCBudGgoJHZhbHMsIGlmKCBsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkgKSk7XG5cbiAgQGlmICRBID09IDAgeyAkQTogMCB9XG4gIEBpZiAkQiA9PSAwIHsgJEI6IDAgfVxuICBAaWYgJEMgPT0gMCB7ICRDOiAwIH1cbiAgQGlmICREID09IDAgeyAkRDogMCB9XG5cbiAgQGlmICRBID09ICRCIGFuZCAkQSA9PSAkQyBhbmQgJEEgPT0gJEQgeyAkb3V0cHV0OiAkQSAgICAgICAgICB9XG4gIEBlbHNlIGlmICRBID09ICRDIGFuZCAkQiA9PSAkRCAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgICAgICAgfVxuICBAZWxzZSBpZiAkQiA9PSAkRCAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICRDICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAkQyAkRCB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgLy8gcHJvcDogdG9wL2JvdHRvbSByaWdodC9sZWZ0XG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuXG4gICAgLy8gcHJvcDogdG9wIHJpZ2h0L2xlZnQgYm90dG9tXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cblxuICAgIC8vIHByb3A6IHRvcCByaWdodCBib3R0b20gbGVmdFxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSA0IHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgNCkgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDQpOyB9XG4gICAgfVxuXG4gIC8vIHByb3A6IHRvcC9yaWdodC9ib3R0b20vbGVmdFxuICB9IEBlbHNlIHtcbiAgICAjeyRhbGx9OiAkdmFscztcbiAgfVxufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KG1hcmdpbiwgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkocGFkZGluZywgZmFsc2UsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItY29sb3IoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBjb2xvciwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBtaXhpbiBlbGxpcHNpcygkd2lkdGg6IDEwMCUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIkZ2VvcmdpYTogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFRhaG9tYSwgVmVyZGFuYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBDb25zb2xhcywgQ291cmllciwgbW9ub3NwYWNlO1xuJHZlcmRhbmE6IFZlcmRhbmEsIEdlbmV2YSwgc2Fucy1zZXJpZjtcbiIsIkBtaXhpbiBoaWRlLXRleHQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gR2VuZXJhdGUgYSB2YXJpYWJsZSAoJGFsbC10ZXh0LWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSB0ZXh0LWJhc2VkIGlucHV0LCBleGNsdWRpbmcgdGV4dGFyZWEuXG4vLyBodHRwOi8vZGl2ZWludG9odG1sNS5vcmcvZm9ybXMuaHRtbFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJudW1iZXJcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRlbFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGV4dFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcblxuICAgICAgICAgICAgICAvLyBXZWJraXQgJiBHZWNrbyBtYXkgY2hhbmdlIHRoZSBkaXNwbGF5IG9mIHRoZXNlIGluIHRoZSBmdXR1cmVcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJtb250aFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXSc7XG5cbi8vIEJhcmUgaW5wdXRzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCk7XG5cbi8vIEhvdmVyIFBzZXVkby1jbGFzc1xuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuJGFsbC10ZXh0LWlucHV0cy1ob3ZlcjogYXNzaWduLWlucHV0cygkaW5wdXRzLWxpc3QsIGhvdmVyKTtcblxuLy8gRm9jdXMgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWZvY3VzOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgZm9jdXMpO1xuXG5cblxuLy8gWW91IG11c3QgdXNlIGludGVycG9sYXRpb24gb24gdGhlIHZhcmlhYmxlOlxuLy8gI3skYWxsLXRleHQtaW5wdXRzfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfVxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWZvY3VzfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC10ZXh0LWlucHV0c30sIHRleHRhcmVhIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtYnV0dG9uLWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSBidXR0b24tYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyBidXR0b24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWJ1dHRvbi1saXN0OiAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgYWN0aXZlKTtcblxuXG5cbi8vIFlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTpcbi8vICN7JGFsbC1idXR0b24taW5wdXRzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1mb2N1c31cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZX1cblxuLy8gRXhhbXBsZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gICAjeyRhbGwtYnV0dG9uLWlucHV0c30sIGJ1dHRvbiB7XG4vLyAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuLy8gICB9XG4iLCJAbWl4aW4gcG9zaXRpb24gKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XG4gICRyaWdodDogbnRoKCRjb29yZGluYXRlcywgMik7XG4gICRib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpO1xuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAaWYgKCR0b3AgYW5kICR0b3AgPT0gYXV0bykgb3IgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyKSB7XG4gICAgdG9wOiAkdG9wO1xuICB9XG5cbiAgQGlmICgkcmlnaHQgYW5kICRyaWdodCA9PSBhdXRvKSBvciAodHlwZS1vZigkcmlnaHQpID09IG51bWJlcikge1xuICAgIHJpZ2h0OiAkcmlnaHQ7XG4gIH1cblxuICBAaWYgKCRib3R0b20gYW5kICRib3R0b20gPT0gYXV0bykgb3IgKHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XG4gICAgYm90dG9tOiAkYm90dG9tO1xuICB9XG5cbiAgQGlmICgkbGVmdCBhbmQgJGxlZnQgPT0gYXV0bykgb3IgKHR5cGUtb2YoJGxlZnQpID09IG51bWJlcikge1xuICAgIGxlZnQ6ICRsZWZ0O1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cblxuICBAaW5jbHVkZSBoaWRwaSB7XG4gICAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skZmlsZW5hbWV9I3skcmV0aW5hLXN1ZmZpeH0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XG5cbiAgfVxufVxuIiwiQG1peGluIHNpemUoJHNpemUpIHtcbiAgJGhlaWdodDogbnRoKCRzaXplLCAxKTtcbiAgJHdpZHRoOiAkaGVpZ2h0O1xuXG4gIEBpZiBsZW5ndGgoJHNpemUpID4gMSB7XG4gICAgJGhlaWdodDogbnRoKCRzaXplLCAyKTtcbiAgfVxuXG4gIEBpZiAkaGVpZ2h0ID09IGF1dG8gb3IgKHR5cGUtb2YoJGhlaWdodCkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJGhlaWdodCkpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAaWYgJHdpZHRoID09IGF1dG8gb3IgKHR5cGUtb2YoJGhlaWdodCkgPT0gbnVtYmVyIGFuZCBub3QgdW5pdGxlc3MoJHdpZHRoKSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH1cbn1cbiIsIi8vIENTUyBjdWJpYy1iZXppZXIgdGltaW5nIGZ1bmN0aW9ucy4gVGltaW5nIGZ1bmN0aW9ucyBjb3VydGVzeSBvZiBqcXVlcnkuZWFzaWUgKGdpdGh1Yi5jb20vamF1a2lhL2Vhc2llKVxuLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtbydlZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxuXG4vLyBFQVNFIElOXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xuJGVhc2UtaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiRlYXNlLWluLXF1YXJ0OiAgICAgY3ViaWMtYmV6aWVyKDAuODk1LCAgMC4wMzAsIDAuNjg1LCAwLjIyMCk7XG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuJGVhc2UtaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlLWluLWV4cG86ICAgICAgY3ViaWMtYmV6aWVyKDAuOTUwLCAgMC4wNTAsIDAuNzk1LCAwLjAzNSk7XG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xuJGVhc2UtaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcblxuLy8gRUFTRSBPVVRcbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4vLyBFQVNFIElOIE9VVFxuJGVhc2UtaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZS1pbi1vdXQtZXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XG4iLCJAbWl4aW4gdHJpYW5nbGUgKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG5cbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG5cbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcblxuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxufVxuIiwiQG1peGluIHdvcmQtd3JhcCgkd3JhcDogYnJlYWstd29yZCkge1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfVxufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gVGhlc2UgbWl4aW5zL2Z1bmN0aW9ucyBhcmUgZGVwcmVjYXRlZFxuLy8gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAd2FybiBcImlubGluZS1ibG9jayBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG4iLCIvLyBDb3JlXG5AaW1wb3J0IFwiY29yZVwiO1xuXG4vLyBCcmVha3BvaW50c1xuQGltcG9ydCBcImJyZWFrcG9pbnRzXCI7XG5cbi8vIExheW91dFxuQGltcG9ydCBcImxheW91dFwiO1xuXG4vLyBUeXBvZ3JhcGh5XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuXG4vLyBOYXZcbkBpbXBvcnQgXCJuYXZcIjsiLCIvLyBCb3JkZXIgUmFkaXVzXG4kY29yZS1ib3JkZXItcmFkaXVzOlx0XHRcdDAgIWRlZmF1bHQ7XG5cbi8vIFByZSBhbmQgQ29kZSBGb250IEZhbWlseVxuJHByZWZvcm1hdHRlZC1mb250LWZhbWlseTogICAgICBpbmhlcml0ICFkZWZhdWx0OyIsIi8vIE1lZGlhIERldmljZSBCcmVha3BvaW50c1xuJGxhcmdlLWRlc2t0b3AtY29udGFpbmVyOlx0XHQ3NS4wMDBlbSAhZGVmYXVsdDtcbiRkZXNrdG9wLWNvbnRhaW5lcjpcdFx0XHRcdDYwLjAwMGVtICFkZWZhdWx0O1xuJHRhYmxldC1jb250YWluZXI6XHRcdFx0XHQ0OC4wMDBlbSAhZGVmYXVsdDtcbiRsYXJnZS1tb2JpbGUtY29udGFpbmVyOlx0XHQzMC4wMDBlbSAhZGVmYXVsdDtcbiRtb2JpbGUtY29udGFpbmVyOlx0XHRcdFx0MTAwJSAhZGVmYXVsdDtcblxuLy8gQnJlYWtwb2ludCBWYXJpYWJsZXMgRm9yIFBhcnRpY2xlc1xuJG1lZGlhOiBcImFsbFwiICFkZWZhdWx0O1xuJG1vYmlsZS1vbmx5OiBcIiN7JG1lZGlhfSBhbmQgKG1heC13aWR0aDojeyR0YWJsZXQtY29udGFpbmVyIC0gMC4wNjJ9KVwiICFkZWZhdWx0O1xuJG5vLW1vYmlsZTogXCIjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6I3skdGFibGV0LWNvbnRhaW5lcn0pXCIgIWRlZmF1bHQ7XG4kc21hbGwtbW9iaWxlLXJhbmdlOiBcIiN7JG1lZGlhfSBhbmQgKG1heC13aWR0aDojeyRsYXJnZS1tb2JpbGUtY29udGFpbmVyfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1tb2JpbGUtcmFuZ2U6IFwiI3skbWVkaWF9IGFuZCAobWluLXdpZHRoOiN7JGxhcmdlLW1vYmlsZS1jb250YWluZXIgKyAwLjA2M30pIGFuZCAobWF4LXdpZHRoOiN7JHRhYmxldC1jb250YWluZXIgLSAwLjA2Mn0pXCIgIWRlZmF1bHQ7XG4kdGFibGV0LXJhbmdlOiBcIiN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDojeyR0YWJsZXQtY29udGFpbmVyfSkgYW5kIChtYXgtd2lkdGg6I3skZGVza3RvcC1jb250YWluZXIgLSAwLjA2Mn0pXCIgIWRlZmF1bHQ7XG4kZGVza3RvcC1yYW5nZTogXCIjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6I3skZGVza3RvcC1jb250YWluZXJ9KSBhbmQgKG1heC13aWR0aDojeyRsYXJnZS1kZXNrdG9wLWNvbnRhaW5lciAtIDAuMDYyfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1kZXNrdG9wLXJhbmdlOiBcIiN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDojeyRsYXJnZS1kZXNrdG9wLWNvbnRhaW5lcn0pXCIgIWRlZmF1bHQ7XG4iLCIvLyBDb250ZW50IEJsb2NrIFNwYWNpbmcgVmFyaWFibGVzXG4kY29udGVudC1tYXJnaW46XHRcdFx0XHQwLjYyNXJlbSAhZGVmYXVsdDtcbiRjb250ZW50LXBhZGRpbmc6XHRcdFx0XHQwLjkzOHJlbSAhZGVmYXVsdDtcblxuLy8gRml4ZWQgQmxvY2sgVmFyaWFibGVzXG4kZml4ZWQtYmxvY2stZnVsbDpcdFx0XHRcdHBlcmNlbnRhZ2UoMS80KSAhZGVmYXVsdDtcbiRmaXhlZC1ibG9jay1kZXNrdG9wOlx0XHRcdHBlcmNlbnRhZ2UoMS8zKSAhZGVmYXVsdDtcbiRmaXhlZC1ibG9jay10YWJsZXQ6XHRcdFx0cGVyY2VudGFnZSgxLzIpICFkZWZhdWx0OyIsIi8vIEJhc2UgU2l6ZXNcbiRjb3JlLWZvbnQtc2l6ZTpcdFx0XHRcdDFyZW0gIWRlZmF1bHQ7XG4kY29yZS1saW5lLWhlaWdodDpcdFx0XHRcdDEuNyAhZGVmYXVsdDtcblxuLy8gSGVhZGluZyBTaXplc1xuJGgxLWZvbnQtc2l6ZTpcdFx0XHRcdFx0JGNvcmUtZm9udC1zaXplICsgMi4yMCAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6XHRcdFx0XHRcdCRjb3JlLWZvbnQtc2l6ZSAtIDEuNjAgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOlx0XHRcdFx0XHQkY29yZS1mb250LXNpemUgLSAxLjUwICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTpcdFx0XHRcdFx0JGNvcmUtZm9udC1zaXplICsgMC43NSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6XHRcdFx0XHRcdCRjb3JlLWZvbnQtc2l6ZSArIDAuMzUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOlx0XHRcdFx0XHQkY29yZS1mb250LXNpemUgLSAwLjE1ICFkZWZhdWx0O1xuXG4vLyBTcGFjaW5nXG4kbGVhZGluZy1tYXJnaW46XHRcdFx0XHQkY29yZS1saW5lLWhlaWdodCAqIDFyZW0gIWRlZmF1bHQ7XG4iLCIvLyBEcm9wZG93bnNcbiRkcm9wZG93bi13aWR0aDpcdFx0XHRcdDE0MHB4ICFkZWZhdWx0O1xuJGZseW91dC13aWR0aDpcdFx0XHRcdFx0MTQwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sLXdpZHRoOiAgICAgICAgICAgIDE3MHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbC1oZWlnaHQ6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDsiLCIvLyBDb2xvcnNcbkBpbXBvcnQgXCJjb2xvcnNcIjtcblxuLy8gVHlwb2dyYXBoeVxuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuLy8gVHlwb2dyYXBoeVxuQGltcG9ydCBcImJ1bGxldHNcIjtcblxuLy8gVmFyaWFibGVzXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG4iLCIvLyBDb3JlXG4kY29yZS10ZXh0Olx0XHRcdFx0XHRcdCM4MDgwODA7XG4kY29yZS1hY2NlbnQ6XHRcdFx0XHRcdCM4N2I2NzI7XG4kc2Vjb25kYXJ5LWxpbms6XHRcdFx0XHQjRjY2MzVFO1xuJHdoaXRlOlx0XHRcdFx0XHRcdFx0I2ZmZjtcbiRibGFjazpcdFx0XHRcdFx0XHRcdCMwMDA7XG4kbGlnaHQtZ3JheTpcdFx0XHRcdFx0IzY1NjE2MTtcbiRib3JkZXItY29sb3I6IFx0XHRcdFx0XHQjRUVFRUVFO1xuXG4vLyBCb3JkZXJzXG4kY29yZS1ib3JkZXItY29sb3I6XHRcdFx0XHQjQ0JDQkNCO1xuJGNvcmUtYm9yZGVyLWNvbG9yLWhvdmVyOiBcdFx0ZGFya2VuKCRjb3JlLWJvcmRlci1jb2xvciwgMTApO1xuJGNvcmUtYm9yZGVyLWNvbG9yLWZvY3VzOiBcdFx0JGNvcmUtYWNjZW50O1xuXG4vLyBTaGFkb3dzXG4kY29yZS1ib3gtc2hhZG93OiBcdFx0XHRcdGluc2V0IDAgMXB4IDNweCBoc2xhKDAsIDAlLCAwJSwgMC4wNik7XG4kY29yZS1ib3gtc2hhZG93LWZvY3VzOiBcdFx0JGNvcmUtYm94LXNoYWRvdywgMCAwIDVweCByZ2JhKGRhcmtlbigkY29yZS1ib3JkZXItY29sb3ItZm9jdXMsIDUpLCAwLjcpO1xuXG4vLyBCYWNrZ3JvdW5kXG4kcGFnZS1iZzpcdFx0XHRcdFx0XHQjZmZmO1xuXG4vLyBIZWFkZXJcbiRoZWFkZXItdGV4dDogXHRcdFx0XHRcdCNGRkZGRkY7XG5cbi8vIE5hdlxuJG5hdmJhci10ZXh0OiBcdFx0XHRcdFx0I2ZmZjtcbiRuYXZiYXItYmc6IFx0XHRcdFx0XHQjRkZGRkZGO1xuXG4vLyBTaG93Y2FzZVxuJHNob3djYXNlLWJnOlx0XHRcdFx0XHRsaWdodGVuKCRjb3JlLWFjY2VudCwgNiUpO1xuJHNob3djYXNlLXRleHQ6XHRcdFx0XHRcdCNmZmY7XG5cbi8vIEZlYXR1cmVcbiRmZWF0dXJlLWJnOlx0XHRcdFx0XHQjZmZmO1xuXG4vLyBNYWluIEJvZHlcbiRtYWluLWJnOlx0XHRcdFx0XHRcdCNmN2Y3Zjc7XG4kYm9keS1ib3JkZXI6XHRcdFx0XHRcdGRhcmtlbigkbWFpbi1iZywgNSUpO1xuXG4vLyBTaWRlYmFyXG4kc2lkZWJhci10ZXh0Olx0XHRcdFx0XHQjYWFhO1xuXG4vLyBCb3R0b21cbiRib3R0b20tYmc6XHRcdFx0XHRcdFx0I2Y3ZjdmNztcbiRib3R0b20tdGV4dDpcdFx0XHRcdFx0JGNvcmUtdGV4dDtcblxuLy8gRm9vdGVyXG4kZm9vdGVyLWJnOlx0XHRcdFx0XHRcdCM0MDQwNDA7XG4kZm9vdGVyLXRleHQ6XHRcdFx0XHRcdCNjY2M7XG5cbiRydWxlLWNvbG9yOiBcdFx0XHRcdFx0I0YwRjJGNDtcbiRjb2RlLXRleHQ6XHRcdFx0XHRcdFx0I2M3MjU0ZTtcbiRjb2RlLWJnOlx0XHRcdFx0XHRcdCNmOWYyZjQ7XG4kcHJlLXRleHQ6XHRcdFx0XHRcdFx0IzIzNzc5NDtcbiRwcmUtYmc6XHRcdFx0XHRcdFx0I2Y2ZjZmNjtcblxuLy8gRGFyayBDb250cmFzdCB2YXJpYXRpb25cbiRkYXJrLW5hdmJhci10ZXh0Olx0XHRcdFx0Izk5OTtcbiRkYXJrLXNpZGViYXI6XHRcdFx0XHRcdCMyMjI7XG4kZGFyay1zaWRlYmFyLXRleHQ6XHRcdFx0XHQjOTk5O1xuJGRhcmstbWFpbi1iZzpcdFx0XHRcdFx0IzMzMztcbiRkYXJrLWJvZHktYm9yZGVyOlx0XHRcdFx0IzY2NjtcbiIsIi8vIEZvbnQgRmFtaWx5XG4kZm9udC1mYW1pbHktZGVmYXVsdDogIFx0XHRcdFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FOZXVlLUxpZ2h0XCIsIFwiSGVsdmV0aWNhIE5ldWUgTGlnaHRcIiwgIEhlbHZldGljYSwgQXJpYWwsIFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LWhlYWRlcjogIFx0XHRcdFwibm92ZWNlbnRvX3NhbnNfd2lkZWRlbWlib2xkXCIsIFwiSGVsdmV0aWNhXCIsIFwiVGFob21hXCIsIFwiR2VuZXZhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1sb2dvOiAgICAgICAgICAgICAgXCJQYWNpZmljb1wiLCBcIm1vbm9zcGFjZVwiO1xuJGZvbnQtZmFtaWx5LW1vbm86IFx0XHRcdFx0XCJJbmNvbnNvbGF0YVwiLCBtb25vc3BhY2U7XG4kZm9udC1mYW1pbHktc2VyaWY6XHRcdFx0XHRcIkdlb3JnaWFcIiwgXCJUaW1lc1wiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcblxuJGljb25zOiBcdFx0XHRcdFx0XHRcIkZvbnRBd2Vzb21lXCI7XG4iLCIkYnVsbGV0LWljb24tc2l6ZTpcdFx0XHRcdDMuNXJlbTtcblxuJGJ1bGxldC1pY29uLWNvbG9yLTE6XHRcdFx0JGNvcmUtYWNjZW50O1xuJGJ1bGxldC1pY29uLWNvbG9yLTI6XHRcdFx0YWRqdXN0LWh1ZSgkY29yZS1hY2NlbnQsIC0yMCk7XG4kYnVsbGV0LWljb24tY29sb3ItMzpcdFx0XHRhZGp1c3QtaHVlKCRjb3JlLWFjY2VudCwgLTEzMCk7IiwiLy8gU2l6ZXNcbiRoZWFkZXItaGVpZ2h0OiAxMnJlbTtcbiRmb290ZXItaGVpZ2h0OiA2cmVtO1xuJGJvcmRlci1yYWRpdXM6IDA7XG5cbi8vIEZvbnQgV2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDYwMDtcbiRmb250LXdlaWdodC1yZWd1bGFyOiA0MDA7XG4kZm9udC13ZWlnaHQtbGlnaHQ6MzAwO1xuXG4vLyBHbG9iYWwgUGFkZGluZ3NcbiRwYWRkaW5nLWhvcml6OiAxNHJlbTtcbiRwYWRkaW5nLXZlcnQ6IDNyZW07XG4iLCJAaW1wb3J0IFwiZGlyZWN0aW9uXCI7XG5AaW1wb3J0IFwicmFuZ2VcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXNcIjsiLCJAZnVuY3Rpb24gb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXIpIHtcblx0QGlmICRkaXIgPT0gJ2xlZnQnIHtcblx0XHRAcmV0dXJuIHJpZ2h0O1xuXHR9XG5cdEBlbHNlIGlmICAkZGlyID09ICdyaWdodCcge1xuXHRcdEByZXR1cm4gbGVmdDtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdsdHInIHtcblx0XHRAcmV0dXJuIHJ0bDtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdydGwnIHtcblx0XHRAcmV0dXJuIGx0cjtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICd0b3AnIHtcblx0XHRAcmV0dXJuIGJvdHRvbTtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdib3R0b20nIHtcblx0XHRAcmV0dXJuIHRvcDtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QHdhcm4gXCIjeyRkaXJ9IGlzIG5vdCBhIGRpcmVjdGlvbiEgTWFrZSBzdXJlIHlvdXIgZGlyZWN0aW9uIGlzIGFsbCBsb3dlcmNhc2UhXCI7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxufVxuXG5AZnVuY3Rpb24gbmFtZWQtZGlyZWN0aW9uKCRkaXIpIHtcblx0QGlmICRkaXIgPT0gJ2x0cicge1xuXHRcdEByZXR1cm4gbGVmdDtcblx0fVxuXHRAZWxzZSBpZiAkZGlyID09ICdydGwnIHtcblx0XHRAcmV0dXJuIHJpZ2h0O1xuXHR9XG5cdEBlbHNlIHtcblx0XHRAd2FybiBcIiN7JGRpcn0gaXMgbm90IGEgdmFsaWQgSFRNTCBkaXJlY3Rpb24hIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgdmFsaWQgSFRNTCBkaXJlY3Rpb25cIjtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG59IiwiQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSl7XG5cdEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcblx0XHRAcmV0dXJuIDA7XG5cdH1cblx0QHJldHVybiBudGgoJHJhbmdlLDEpO1xufVxuXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XG5cdEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xuXHRcdEByZXR1cm4gOTk5OTk5OTk5OTk5O1xuXHR9XG5cdEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XG59IiwiQGZ1bmN0aW9uIHRleHRjb2xvci10aW50KCRjb2xvciwgJGFtb3VudDogNjUlKSB7XG4gXHRAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gNTApIHtcbiBcdFx0QHJldHVybiBkYXJrZW4oJGNvbG9yLCAkYW1vdW50KTtcblx0fSBAZWxzZSB7XG4gICAgXHRAcmV0dXJuIGxpZ2h0ZW4oJGNvbG9yLCAkYW1vdW50KTtcbiAgXHR9XHRcbn0iLCJAaW1wb3J0IFwiYnJlYWtwb2ludHNcIjtcbkBpbXBvcnQgXCJuYXZcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7IiwiLy8gQnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50KCRicmVha3BvaW50LCAkbWVkaWE6IGFsbCkge1xuXHRAaWYgJGJyZWFrcG9pbnQgPT0gbGFyZ2UtZGVza3RvcC1yYW5nZSB7XG5cdFx0QG1lZGlhIG9ubHkgI3skbWVkaWF9IGFuZCAobWluLXdpZHRoOiAkbGFyZ2UtZGVza3RvcC1jb250YWluZXIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBkZXNrdG9wLXJhbmdlIHtcblx0XHRAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wLWNvbnRhaW5lcikgYW5kIChtYXgtd2lkdGg6ICRsYXJnZS1kZXNrdG9wLWNvbnRhaW5lciAtIDAuMDYyKSB7IEBjb250ZW50OyB9XG5cdH1cblx0QGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gdGFibGV0LXJhbmdlIHtcblx0XHRAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQtY29udGFpbmVyKSBhbmQgKG1heC13aWR0aDogJGRlc2t0b3AtY29udGFpbmVyIC0gMC4wNjIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBsYXJnZS1tb2JpbGUtcmFuZ2Uge1xuXHRcdEBtZWRpYSBvbmx5ICN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDogJGxhcmdlLW1vYmlsZS1jb250YWluZXIgKyAwLjA2MykgYW5kIChtYXgtd2lkdGg6ICR0YWJsZXQtY29udGFpbmVyIC0gMC4wNjIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBzbWFsbC1tb2JpbGUtcmFuZ2Uge1xuXHRcdEBtZWRpYSBvbmx5ICN7JG1lZGlhfSBhbmQgKG1heC13aWR0aDogJGxhcmdlLW1vYmlsZS1jb250YWluZXIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBuby1tb2JpbGUge1xuXHRcdEBtZWRpYSBvbmx5ICN7JG1lZGlhfSBhbmQgKG1pbi13aWR0aDogJHRhYmxldC1jb250YWluZXIpIHsgQGNvbnRlbnQ7IH1cblx0fVxuXHRAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBtb2JpbGUtb25seSB7XG5cdFx0QG1lZGlhIG9ubHkgI3skbWVkaWF9IGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWNvbnRhaW5lciAtIDAuMDYyKSB7IEBjb250ZW50OyB9XG5cdH1cblx0QGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gZGVza3RvcC1vbmx5IHtcblx0XHRAbWVkaWEgb25seSAjeyRtZWRpYX0gYW5kIChtYXgtd2lkdGg6ICRkZXNrdG9wLWNvbnRhaW5lciAtIDAuMDYyKSB7IEBjb250ZW50OyB9XG5cdH1cbn0iLCIvLyBJbmFjdGl2ZSBEcm9wZG93blxuJWluYWN0aXZlLWRyb3Bkb3duIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IGF1dG87XG5cdGxlZnQ6IGF1dG87XG5cdG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIEluYWN0aXZlIERyb3Bkb3duXG4lYWN0aXZlLWRyb3Bkb3duIHtcblx0b3BhY2l0eTogMTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vIEluYWN0aXZlIERyb3Bkb3duXG4lZHJvcGRvd24tY29sdW1uIHtcblx0d2lkdGg6ICRkcm9wZG93bi1jb2wtd2lkdGg7XG5cdC8vaGVpZ2h0OiAkZHJvcGRvd24taGVpZ2h0O1xuXHRmbG9hdDogbGVmdDtcbn0iLCIvLyBIZWFkZXJzXG5AbWl4aW4gaGVhZGVyKCRtYXJnaW4tdG9wOiAkbGVhZGluZy1tYXJnaW4gLyAyLCAkbWFyZ2luLWJvdHRvbTogJGxlYWRpbmctbWFyZ2luKSB7XG5cdG1hcmdpbjogJG1hcmdpbi10b3AgMCAkbWFyZ2luLWJvdHRvbSAwO1xufSIsIi8vIExpc3QgUmVzZXRcbiVsaXN0LXJlc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBWZXJ0aWNhbCBDZW50ZXJpbmdcbiV2ZXJ0aWNhbC1hbGlnbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiA1MCU7XG5cdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbn1cblxuLy8gQ29sdW1uc1xuQG1peGluIGNvbHVtbnMoJGNvbHVtbnMpIHtcblx0d2lkdGg6IHBlcmNlbnRhZ2UoMS8kY29sdW1ucyk7XG59XG5cbi8vIEZsb2F0IHdpdGggbWFyZ2luIHZhcmlhYmxlXG5AbWl4aW4gZmxvYXQoJGRpcmVjdGlvbiwgJG1hcmdpbjogMCkge1xuXHRmbG9hdDogJGRpcmVjdGlvbjtcblx0bWFyZ2luLSN7b3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pfTogJG1hcmdpbjtcbn1cbiIsIi8vIEJ1dHRvbnNcbkBpbXBvcnQgXCJidXR0b25zXCI7IiwiJWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogN3B4IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgJi5idXR0b24tc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAzcHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAkY29yZS1mb250LXNpemUgLSAwLjFyZW07XG4gICAgfVxuXG59XG5cbkBtaXhpbiBidXR0b24tY29sb3IoJGNvbG9yKSB7XG5cdGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBjb2xvcjogJHdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblx0fVxuXHQmOmFjdGl2ZSB7XG5cdFx0Ym94LXNoYWRvdzogMCAxcHggMCBkYXJrZW4oJGNvbG9yLCAxMiUpO1xuXHR9XG59XG4iLCJodG1sLCBib2R5IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcblx0YmFja2dyb3VuZDogJHBhZ2UtYmc7XG5cdGNvbG9yOiAkY29yZS10ZXh0O1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5hIHtcblx0Y29sb3I6ICRjb3JlLWFjY2VudDtcblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IGRhcmtlbigkY29yZS1hY2NlbnQsIDIwJSk7XG5cdH1cbn1cblxuYiwgc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkXG59XG5cbi8vIEdsb2JhbCBDb250YWluZXJcbiNjb250YWluZXIge1xuIFx0bWluLWhlaWdodDogMTAwJTtcbiAgXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIEZ1bGx3aWR0aCBzdHlsZXNcbi5mdWxsd2lkdGgge1xuXHQjYm9keSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblx0I2hlYWRlciwgI2JyZWFkY3J1bWJzLCAuYmxvZy1oZWFkZXIsIC5ibG9nLWNvbnRlbnQtaXRlbSwgLmNvbnRlbnQtd3JhcHBlciwgdWwucGFnaW5hdGlvbiwgI2JvZHkgPiAubW9kdWxhci1yb3cge1xuXHRcdEBleHRlbmQgLnBhZGRpbmctaG9yaXo7XG5cdH1cbn1cblxuLy8gR2xvYmFsIGJvZHkgc3R5bGluZ1xuI2JvZHkge1xuXHRAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcblx0QGV4dGVuZCAucGFkZGluZy1ob3Jpejtcblx0XG5cdGJhY2tncm91bmQ6ICRwYWdlLWJnO1xuXHRwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQgKyAkcGFkZGluZy12ZXJ0O1xufVxuXG4vLyBBbGlnbm1lbnRcbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdub3ZlY2VudG9fc2Fuc193aWRlZGVtaWJvbGQnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLURlbWlCb2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLURlbWlCb2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1EZW1pQm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtRGVtaUJvbGQtd2ViZm9udC5zdmcjbm92ZWNlbnRvX3NhbnNfd2lkZWRlbWlib2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ25vdmVjZW50b19zYW5zX3dpZGVub3JtYWwnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1Ob3JtYWwtd2ViZm9udC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU5vcm1hbC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTm9ybWFsLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1Ob3JtYWwtd2ViZm9udC5zdmcjbm92ZWNlbnRvX3NhbnNfd2lkZW5vcm1hbCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdub3ZlY2VudG9fc2Fuc193aWRlbWVkaXVtJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTWVkaXVtLXdlYmZvbnQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9Ob3ZlY2VudG9zYW5zd2lkZS1NZWRpdW0td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL05vdmVjZW50b3NhbnN3aWRlLU1lZGl1bS13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvTm92ZWNlbnRvc2Fuc3dpZGUtTWVkaXVtLXdlYmZvbnQuc3ZnI25vdmVjZW50b19zYW5zX3dpZGVtZWRpdW0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnUGFjaWZpY28nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9wYWNpZmljby50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cbiIsIi5kZWZhdWx0LWFuaW1hdGlvbiB7XG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuNXMgZWFzZSk7XG59XG5cbi5wYWRkaW5nLWhvcml6IHtcblx0cGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3Jpejtcblx0cGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXo7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1yYW5nZSkge1xuXHRcdHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXogLSA3cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6IC0gN3JlbTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuXHRcdHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXogLSA3cmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6IC0gN3JlbTtcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3JpeiAtIDEzcmVtO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6IC0gMTNyZW07XG5cdH1cbn1cblxuLnBhZGRpbmctdmVydCB7XG5cdHBhZGRpbmctdG9wOiAkcGFkZGluZy12ZXJ0O1xuXHRwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmctdmVydDtcbn1cbiIsIi8vIEhlYWRlciBzdHlsaW5nXG5cbiNoZWFkZXIge1xuICAgIEBleHRlbmQgLnBhZGRpbmctaG9yaXo7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjkwKTtcbiAgICBib3gtc2hhZG93OiAwIDAuMDVyZW0gMXJlbSByZ2JhKDAsMCwwLCAwLjE1KTtcblxuICAgID4gLmdyaWQsIC5sb2dvLCAjbmF2YmFyLCAuc29jaWFsLW5hdmlnYXRpb24ge1xuICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICB9XG4gICAgLmZhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICAuZml4ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNHJlbTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMHB4IDIwcHggMHB4IHJnYmEoMCwwLDAsMC4yKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgICYuc29jaWFsLWljb25zIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtYm94IHtcbiAgICAgICAgQGV4dGVuZCAldmVydGljYWwtYWxpZ247XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDAuNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjZyZW07XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAgICAgaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4zcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogICRjb3JlLWZvbnQtc2l6ZSAtIDAuMXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIC41cyk7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkaGVhZGVyLXRleHQsIDAuNyk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTBweDtcblxuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgxcmVtKSk7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDAuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuZml4ZWQge1xuICAgICAgICAuc2VhcmNoLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYW5lbC1hY3RpdmF0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1vbmx5KSB7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSAhaW1wb3J0YW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNuYXZiYXIge1xuICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZSArIDAuMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xuXG4gICAgICAgICAgICAmLmZpeGVkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICAgICAmLm5hdmlnYXRpb24ge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJXZlcnRpY2FsLWFsaWduO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuM3JlbSAwLjhyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLCAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC4wNXJlbSAxcmVtIHJnYmEoMCwwLDAsIDAuMTUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB1bCB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjhyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFuZWwtYWN0aXZhdGlvbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3Atb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2R1bGFyLmhlYWRlci1pbWFnZSAjaGVhZGVyIC5maXhlZCB7XG4gICAgYmFja2dyb3VuZDogIzY2NjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgMC4zcyBlYXNlLWluLW91dCk7XG59XG5cbi5oZWFkZXItaW1hZ2Uge1xuICAgICYuZnVsbHdpZHRoIHtcbiAgICAgICAgI2JvZHkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgICAgPi5saXN0aW5nLXJvdyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy1ob3JpejtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1ob3JpejtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubGlzdGluZy1yb3c6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgI2JvZHkge1xuICAgICAgICAuZmx1c2gtdG9wIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0gJGhlYWRlci1oZWlnaHQgLSAkcGFkZGluZy12ZXJ0IC0gMC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoZWFkZXItaGVpZ2h0ICsgNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNicmVhZGNydW1icyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgI2hlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGhlYWRlci10ZXh0LDApO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICNsb2dvIGgzLCAjbG9nbyBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgYSwgLm1lbnUtYnRuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgYTpiZWZvcmUsIGE6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkaGVhZGVyLXRleHQsMC43KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI25hdmJhciB1bC5uYXZpZ2F0aW9uICB7XG4gICAgICAgICAgICB1bCBsaSBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDNweCAjNjU2MTYxO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRjb3JlLWFjY2VudCwgMjAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uaGVhZGVyLWxpdGUge1xuICAgICNib2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycmVtO1xuICAgIH1cbiAgICAjaGVhZGVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBhLCAubWVudS1idG4ge1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtYm94IHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRsaWdodC1ncmF5LCAwLjgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICB9XG4gICAgICAgIC5sb2dvIHVsLnNvY2lhbC1pY29ucyBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkbGlnaHQtZ3JheSwgMC44KTtcbiAgICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmZhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5mb290ZXIge1xuICAgIGZvbnQtc2l6ZTogICRjb3JlLWZvbnQtc2l6ZSAtIDAuMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBleHRlbmQgLnBhZGRpbmctaG9yaXo7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvcmUtdGV4dDtcbiAgICB9XG4gICAgaDQge1xuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIGhyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGNvcmUtdGV4dCwgMC41KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgLnNvY2lhbC1pY29ucyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgLnNvY2lhbC1pY29ucyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyLWl0ZW1zIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgICBAc3VwcG9ydHMgbm90IChmbGV4LXdyYXA6IHdyYXApIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbiAgICAuZm9vdGVyLW1vZHVsZSB7XG4gICAgICAmLmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1tb2JpbGUtcmFuZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICB9XG4gICAgICBzdHJvbmcge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxvZ28ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgaDMgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICAgIC5xdWlja21lbnUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci1tb2R1bGVzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgIH1cbiAgICAuZm9vdGVyLWNvcHlyaWdodCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuZm9vdGVyLW1lbnUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGVyO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC41cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5uZXdzbGV0dGVyIHtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGhlYWRlci10ZXh0LCAwLjgpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGhlYWRlci10ZXh0LCAwLjUpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICB9IFxuICB9XG4iLCIvLyBCb2R5IEJhc2VcbmJvZHkge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWRlZmF1bHQ7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8vIEhlYWRpbmdzXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbmgxIHtcblx0Zm9udC1zaXplOiAkaDEtZm9udC1zaXplO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggM3B4ICM2NTYxNjE7XG4gICAgfVxufVxuXG5oMiB7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG5cdFx0Zm9udC1zaXplOiAkaDItZm9udC1zaXplIC0gLjQwO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcblx0XHRmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAuNTA7XG5cdH1cblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiAxLjRyZW07XG59XG5cbmgzIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcblx0XHRmb250LXNpemU6ICRoMy1mb250LXNpemUgLSAuNDA7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtIC41MDtcblx0fVxufVxuXG5oNCB7XG5cdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRjb2xvcjogJGxpZ2h0LWdyYXk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcblx0XHRmb250LXNpemU6ICRoNC1mb250LXNpemUgLSAuNDA7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZSAtIC41MDtcblx0fVxufVxuXG5oMSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMge1xuXHRsZXR0ZXItc3BhY2luZzogLTFweDtcbn1cblxuaDEgKyBoMiB7XG5cdG1hcmdpbjogLTJyZW0gMCAycmVtIDA7XG5cdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuXHRcdGZvbnQtc2l6ZTogMS4zcmVtO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcblx0XHRmb250LXNpemU6IDFyZW07XG5cdH1cblx0bGluZS1oZWlnaHQ6IDE7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1kZWZhdWx0O1xuXHRmb250LXdlaWdodDogMzAwO1xufVxuXG5oMiArIGgzIHtcblx0bWFyZ2luOiAwLjVyZW0gMCAycmVtIDA7XG5cdGZvbnQtc2l6ZTogMS4zcmVtO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuXHRcdGZvbnQtc2l6ZTogMS4ycmVtO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcblx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0fVxuXHRsaW5lLWhlaWdodDogMTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWRlZmF1bHQ7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cblxuLy8gQmxvY2txdW90ZVxuYmxvY2txdW90ZSB7XG5cdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICRydWxlLWNvbG9yO1xuXHRwIHtcblx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0XHRjb2xvcjogIzk5OTtcblx0fVxuXHRjaXRlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRjb2xvcjogIzY2Njtcblx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0fVxufVxuXG4vLyBOT1RFUyEhISFcbmJsb2NrcXVvdGUgPiBibG9ja3F1b3RlID4gYmxvY2txdW90ZSB7XG5cblx0bWFyZ2luOiAwO1xuXG5cdHAge1xuXG5cdFx0cGFkZGluZzogMTVweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0bWFyZ2luLXRvcDogMHJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAwcmVtO1xuXHR9XG5cblx0PiBwIHtcblx0XHQvLyBZZWxsb3dcblx0XHRtYXJnaW4tbGVmdDogLTcxcHg7XG5cdFx0Ym9yZGVyLWxlZnQ6IDEwcHggc29saWQgI0YwQUQ0RTtcblx0XHRiYWNrZ3JvdW5kOiAjRkNGOEYyO1xuXHRcdGNvbG9yOiBkYXJrZW4oI0YwQUQ0RSwxNSUpO1xuXHR9XG5cblx0PiBibG9ja3F1b3RlID4gcCB7XG5cdFx0Ly8gUmVkXG5cdFx0bWFyZ2luLWxlZnQ6IC05NHB4O1xuXHRcdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNEOTUzNEY7XG5cdFx0YmFja2dyb3VuZDogI0ZERjdGNztcblx0XHRjb2xvcjogZGFya2VuKCNEOTUzNEYsMTUlKTtcblx0fVxuXG5cdD4gYmxvY2txdW90ZSA+IGJsb2NrcXVvdGUgPiBwIHtcblx0XHQvLyBCbHVlXG5cdFx0bWFyZ2luLWxlZnQ6IC0xMThweDtcblx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCAjNUJDMERFO1xuXHRcdGJhY2tncm91bmQ6ICNGNEY4RkE7XG5cdFx0Y29sb3I6IGRhcmtlbigjNUJDMERFLDE1JSk7XG5cdH1cblxuXHQ+IGJsb2NrcXVvdGUgPiBibG9ja3F1b3RlID4gYmxvY2txdW90ZSA+IHAge1xuXHRcdC8vIEdyZWVuXG5cdFx0bWFyZ2luLWxlZnQ6IC0xNDJweDtcblx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCAjNUNCODVDO1xuXHRcdGJhY2tncm91bmQ6ICNGMUY5RjE7XG5cdFx0Y29sb3I6IGRhcmtlbigjNUNCODVDLDE1JSk7XG5cdH1cblxufVxuXG4vLyBJbmxpbmUgYW5kIENvZGVcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vO1xufVxuXG5jb2RlIHtcblx0YmFja2dyb3VuZDogJGNvZGUtYmc7XG5cdGNvbG9yOiBkYXJrZW4oJGNvZGUtdGV4dCwxMCUpO1xufVxuXG5wcmUge1xuXHRwYWRkaW5nOiAycmVtO1xuXHRiYWNrZ3JvdW5kOiAkcHJlLWJnO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29yZS1ib3JkZXItY29sb3I7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0Y29kZSB7XG5cdFx0Y29sb3I6ICRwcmUtdGV4dDtcblx0XHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xuXHR9XG59XG5cbi8vIEV4dHJhc1xuaHIge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvcmUtYm9yZGVyLWNvbG9yO1xufVxuXG4vLyBQYWdlIFRpdGxlXG4ucGFnZS10aXRsZSB7XG5cdG1hcmdpbi10b3A6IC0yNXB4O1xuXHRwYWRkaW5nOiAyNXB4O1xuXHRmbG9hdDogbGVmdDtcblx0Y2xlYXI6IGJvdGg7XG5cdGJhY2tncm91bmQ6ICRjb3JlLWFjY2VudDtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cblxuLy8gTGFiZWxcbi5sYWJlbCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kOiAkY29yZS1hY2NlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBtaW4td2lkdGg6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZSAtIDAuM3JlbTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG5cbiIsImZpZWxkc2V0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvcmUtYm9yZGVyLWNvbG9yO1xufVxuXG50ZXh0YXJlYSwgI3skYWxsLXRleHQtaW5wdXRzfSwgc2VsZWN0W211bHRpcGxlPW11bHRpcGxlXSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkY29yZS1ib3JkZXItY29sb3I7XG5cdGJveC1zaGFkb3c6ICRjb3JlLWJveC1zaGFkb3c7XG5cblx0Jjpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkY29yZS1ib3JkZXItY29sb3ItaG92ZXI7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRjb3JlLWJvcmRlci1jb2xvci1mb2N1cztcblx0XHRib3gtc2hhZG93OiAkY29yZS1ib3gtc2hhZG93LWZvY3VzO1xuXHR9XG59XG5cbmxhYmVsIHtcblx0QGV4dGVuZCBzdHJvbmc7XG59XG5cbi8vIEZvcm1zXG4uZm9ybS1maWVsZCB7XG5cdC5yZXF1aXJlZCB7XG5cdFx0Y29sb3I6ICNGMzQ0M0Y7XG5cdFx0Zm9udC1zaXplOiAkY29yZS1mb250LXNpemUgKyAxcmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAkY29yZS1mb250LXNpemUgKyAxcmVtO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0aGVpZ2h0OiAxLjVyZW07XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG59XG5cbmZvcm0ge1xuXHQuYnV0dG9ucyB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdGlucHV0IHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHR9XG59XG4iLCJ0YWJsZSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNvcmUtYm9yZGVyLWNvbG9yLDUlKTtcbn1cblxudGgge1xuXHRAZXh0ZW5kIHN0cm9uZztcblx0YmFja2dyb3VuZDogbGlnaHRlbigkY29yZS1ib3JkZXItY29sb3IsMTAlKTtcblx0cGFkZGluZzogMC41cmVtO1xufVxuXG50ZCB7XG5cdHBhZGRpbmc6IDAuNXJlbTtcblx0Ym9yZGVyOiAxcHggc29saWQgbGlnaHRlbigkY29yZS1ib3JkZXItY29sb3IsNSUpOyBcbn1cbiIsIi5idXR0b24ge1xuXHRAZXh0ZW5kICVidXR0b247XG5cdEBpbmNsdWRlIGJ1dHRvbi1jb2xvcigkY29yZS1hY2NlbnQpO1xufVxuXG4uYnV0dG9uLXNlY29uZGFyeSB7XG5cdEBleHRlbmQgJWJ1dHRvbjtcblx0QGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRzZWNvbmRhcnktbGluayk7XG59IiwiLmJ1bGxldHMge1xuXHRtYXJnaW46ICRsZWFkaW5nLW1hcmdpbiAwO1xuXHRtYXJnaW4tbGVmdDogLSRsZWFkaW5nLW1hcmdpbiAvIDI7XG5cdG1hcmdpbi1yaWdodDogLSRsZWFkaW5nLW1hcmdpbiAvIDI7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG4uYnVsbGV0IHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdHBhZGRpbmc6IDAgJGxlYWRpbmctbWFyZ2luIC8gMjtcbn1cblxuLnR3by1jb2x1bW4tYnVsbGV0IHtcblx0QGluY2x1ZGUgY29sdW1ucygyKTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdEBpbmNsdWRlIGNvbHVtbnMoMSk7XG5cdH1cbn1cblxuLnRocmVlLWNvbHVtbi1idWxsZXQge1xuXHRAaW5jbHVkZSBjb2x1bW5zKDMpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG5cdFx0QGluY2x1ZGUgY29sdW1ucygxKTtcblx0fVxufVxuXG4uZm91ci1jb2x1bW4tYnVsbGV0IHtcblx0QGluY2x1ZGUgY29sdW1ucyg0KTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuXHRcdEBpbmNsdWRlIGNvbHVtbnMoMSk7XG5cdH1cbn1cblxuLmJ1bGxldC1pY29uIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdGJhY2tncm91bmQ6ICRidWxsZXQtaWNvbi1jb2xvci0xO1xuXHRwYWRkaW5nOiAkYnVsbGV0LWljb24tc2l6ZSAvIDQ7XG5cdHdpZHRoOiAkYnVsbGV0LWljb24tc2l6ZTtcblx0aGVpZ2h0OiAkYnVsbGV0LWljb24tc2l6ZTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LXNpemU6ICRidWxsZXQtaWNvbi1zaXplIC8gMjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnVsbGV0LWljb24tMSB7XG5cdGJhY2tncm91bmQ6ICRidWxsZXQtaWNvbi1jb2xvci0xO1xufVxuXG4uYnVsbGV0LWljb24tMiB7XG5cdGJhY2tncm91bmQ6ICRidWxsZXQtaWNvbi1jb2xvci0yO1xufVxuXG4uYnVsbGV0LWljb24tMyB7XG5cdGJhY2tncm91bmQ6ICRidWxsZXQtaWNvbi1jb2xvci0zO1xufVxuXG4uYnVsbGV0LWNvbnRlbnQge1xuXHRtYXJnaW4tbGVmdDogJGJ1bGxldC1pY29uLXNpemUgKiAxLjM7XG59IiwiJHNpZGViYXItY29sb3I6ICAgICAjMzMzO1xuJHBhbmVsLXBhZGRpbmc6ICAgICAxcmVtO1xuJHBhbmVsLXRleHQ6ICAgICAgICAjZGRkO1xuXG4uc2Itc2xpZGViYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbiNwYW5lbCB7XG4gICAgcGFkZGluZy10b3A6ICRwYW5lbC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkcGFuZWwtdGV4dDtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFuZWwtdGV4dDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRwYW5lbC10ZXh0LDIwJSk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2lkZWJhci1jb2xvciw1JSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS10ZXh0O1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS10ZXh0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0ZW4oJHNpZGViYXItY29sb3IsNCUpO1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbGlnaHRlbigkc2lkZWJhci1jb2xvciw0JSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJHBhbmVsLXRleHQsIDEwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMXJlbSAwLjJyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCJcbi8vIE1vZGFsIFdpbmRvd1xuLnBvcnRmb2xpby1tb2RhbCAuY2xvc2UtbW9kYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiA1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5tb2RhbCB7XG4gICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDUwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgcCwgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmluIHtcbiAgICAgICAgb3BhY2l0eTogMTsgXG4gICAgfVxuICAgIC5jbGllbnQtZGV0YWlscyB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDM1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTVyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmJsb2ctaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcblxuICAgICYuYmxvZy1oZWFkZXItaW1hZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgaDEsIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgKyAuYmxvZy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLXZlcnQ7XG4gICAgfVxufVxuXG4vLyBMaXN0IEJsb2cgSXRlbVxuLmxpc3QtaXRlbSB7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRib3JkZXItY29sb3IsIDglKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy12ZXJ0O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLmxpc3QtYmxvZy1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0LWJsb2ctZGF0ZSwgLmxpc3QtYmxvZy1hdXRob3Ige1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRsaWdodC1ncmF5LCAwLjkpO1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkY29yZS1mb250LXNpemU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY29yZS10ZXh0O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQmlnZ2VyIGZpcnN0IHBhcmFcbi5ibG9nLWNvbnRlbnQtaXRlbSB7XG4gICAgLmxpc3QtYmxvZy1wYWRkaW5nID4gcDpudGgtY2hpbGQoMikge1xuICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZSArIDAuMnJlbTtcbiAgICB9XG59XG5cbi8vIFRhZ3Ncbi50YWdzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGxpZ2h0LWdyYXksIDAuOSk7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb3JlLXRleHQ7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIixcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYTphZnRlciB7ZGlzcGxheTogbm9uZTt9IFxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi8vIEFyY2hpdmVzICYgUmVsYXRlZC1QYWdlc1xuLmFyY2hpdmVzLCAucmVsYXRlZC1wYWdlcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY29yZS1mb250LXNpemUgKyAxcmVtO1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjb3JlLXRleHQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlbGF0ZWQtcGFnZXMge1xuICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2NvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgZm9udC1zaXplOiA4NSVcbiAgICB9XG59XG5cbi8vIFN5bmRpY2F0ZVxuLnN5bmRpY2F0ZSB7XG4gICAgYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxufVxuXG4vLyBCcmVhZGNydW1ic1xuZGl2I2JyZWFkY3J1bWJzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gU2lkZWJhclxuI3NpZGViYXIge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLnNpZGViYXItY29udGVudCB7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIHAsIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhZGRpbmctdmVydDtcbiAgICB9XG59XG5cbi8vIFBhZ2luYXRpb25cbnVsLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMCAwICRwYWRkaW5nLXZlcnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBQcmV2IC8gTmV4dFxuLnByZXYtbmV4dCB7XG4gICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvLyBNb2R1bGFyIFNob3djYXNlIHN0eWxpbmdcbi5hcmNoaXZlLWxpc3Qge1xuICAgIGg0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cmVtO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogOTAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkY29yZS10ZXh0LCAwLjgpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIEBleHRlbmQgaDQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAuYnV0dG9uO1xuICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufSIsIi8vIEVycm9yIHNwZWNpZmljIHN0eWxpbmdcbiNlcnJvciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206IDEycmVtO1xuXG5cdGgxIHtcblx0XHRmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZSArIDQuMHJlbTtcblx0fVxuXG5cdHAge1xuXHRcdG1hcmdpbjogMXJlbSAwO1xuXHR9XG59XG5cbi5lcnJvciAjYm9keSB7XG5cdHBhZGRpbmctdG9wOiAxNnJlbTtcbn0iLCIuc2ltcGxlc2VhcmNoIHtcblxuICAgIGgxIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuY2VudGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuXG4gICAgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMzByZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLWRldGFpbHMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRjb3JlLXRleHQsMjAlKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjJyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICB9XG5cbn1cbiIsIi8vIFlvdXIgY3VzdG9tIFNDU1Mgc2hvdWxkIGJlIHdyaXR0ZW4gaGVyZS4uLlxuXG4uZ3Jhdi1saWdodHNsaWRlciB7XG4gICAgLmxTU2xpZGVPdXRlciB7XG4gICAgICAgIC5sU1BhZ2VyLmxTcGcge1xuICAgICAgICAgICAgPiBsaSBhIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jYm9keSA+IHNjcmlwdDpmaXJzdC1jaGlsZCArIC5ncmF2LWxpZ2h0c2xpZGVyIHtcbiAgbWFyZ2luLXRvcDogLTNyZW07XG59IiwiQGltcG9ydCBcInNob3djYXNlXCI7XG5AaW1wb3J0IFwiZmVhdHVyZXNcIjtcbkBpbXBvcnQgXCJib3R0b21cIjtcbkBpbXBvcnQgXCJjb250YWN0XCI7XG5AaW1wb3J0IFwidGV4dFwiO1xuQGltcG9ydCBcInRlYW1cIjtcbkBpbXBvcnQgXCJwb3J0Zm9saW9cIjtcblxuLmxvZ28ge1xuICAgIGgzIHtcbiAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWxvZ287XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29yZS10ZXh0O1xuICAgICAgICB9XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib2R5LWJvcmRlcjtcblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgICYuc29jaWFsLWljb25zIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIuMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuMXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4xcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gbWFjYm9va1xuICAgIC5ub3RlYm9va3tcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDMzJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3AtcmFuZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICAgICAgd2lkdGg6IDE1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTUuMXJlbTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgLm5vdGVib29rIC5zY3JlZW46YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNFNUVCRUQ7XG4gICAgICAgIGhlaWdodDogMC4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDAuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMCA4LjYyNXJlbTtcbiAgICB9XG4gICAgLm5vdGVib29rIC5zY3JlZW57XG4gICAgICAgIGJhY2tncm91bmQ6IzQ2NEM1MTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtIDAuNXJlbSAwIDA7XG4gICAgICAgIGhlaWdodDogMTEuNzJyZW07XG4gICAgICAgIHdpZHRoOiAxOC4yOHJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgLnNjcmVlbi1jb250ZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAuMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxNi43M3JlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC44cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXRcbiAgICAgICAgfVxuICAgICAgICAuc2NyZWVuLWNvbnRlbnQtaG92ZXIge1xuICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICBoZWlnaHQ6IDEwLjFyZW07XG4gICAgICAgICAgICB3aWR0aDogMTYuNzNyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjhyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBjb2xvcjogIzQ2NEM1MTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgIC5mYS1hcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0LjdyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5vdGVib29rIC5zY3JlZW46YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzE2MUIyMTtcbiAgICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgICAgd2lkdGg6IDE2LjYzcmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwLjg3NXJlbSAwIDAgMC44MTI1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDFzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgIC5ub3RlYm9vayAua2V5Ym9hcmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjREZEQ0RDO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4zMTI1cmVtIDAuMzEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICB3aWR0aDogMjEuODhyZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAubm90ZWJvb2sgLmtleWJvYXJkOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNzU3OTc5O1xuICAgICAgICBoZWlnaHQ6IDAuMzc1cmVtO1xuICAgICAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDAgOS4zNzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjVyZW0gMC41cmVtO1xuICAgIH1cbiAgICAua2V5Ym9hcmQ6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgICAgd2lkdGg6IDIzLjEzcmVtO1xuICAgICAgICBtYXJnaW46IDAuNDM3NXJlbSAwIDAgLTAuNjI1cmVtO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB9XG4iLCIvLyBNb2R1bGFyIFNob3djYXNlIHN0eWxpbmdcbi5tb2R1bGFyIHtcblxuLy8gc3BlY2lhbCBjYXNlIGZvciBoZWFkZXJcbiYuaGVhZGVyLWltYWdlIHtcbiAgICAjaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAjbG9nbyBoMyB7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci10ZXh0O1xuICAgICAgICB9XG4gICAgICAgICNuYXZiYXIgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci10ZXh0O1xuICAgICAgICB9XG4gICAgfVxufVxuLnNsaWRlbWVfY29udGFpbmVyIHtcbiAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgIG1hcmdpbi10b3A6IC0gJGhlYWRlci1oZWlnaHQgLSAzcmVtO1xuICAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1oZWlnaHQgKyAzcmVtO1xuICAgICBoZWlnaHQ6IDM0LjdyZW07XG59XG4uc2hvd2Nhc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkaGVhZGVyLXRleHQ7XG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggM3B4ICM2NTYxNjE7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmctaG9yaXo7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLWhvcml6O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xuICAgICAgICB9XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBjb2xvcjogJGNvcmUtYWNjZW50O1xuICAgICAgICB9XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggM3B4ICM2NTYxNjE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLWhvcml6O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy1ob3JpejtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBAZXh0ZW5kIC5kZWZhdWx0LWFuaW1hdGlvbjtcbiAgICAgICAgY29sb3I6ICRoZWFkZXItdGV4dDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuM3JlbSAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDApO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkaGVhZGVyLXRleHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIFNsaWRlc2hvdyBBcnJvd3MgYW5kIFBhZ2luYXRpb25cbi5zbGlkZW1lX2NvbnRhaW5lciB7XG4gICAgLmFycm93IHtcbiAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xucGFkZGluZy1sZWZ0OiAwLjhyZW07XG5wYWRkaW5nLXJpZ2h0OiAwLjhyZW07XG5wYWRkaW5nLXRvcDogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OiA1MDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMy44cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjhyZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7b3BhY2l0eTogMTt9XG4gICAgICAgICYucHJldiB7XG4gICAgICAgICAgICBsZWZ0OiA0cmVtO1xuICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgcmlnaHQ6IDRyZW07XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6ZGlzYWJsZWQge29wYWNpdHk6IDAuMX1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgd2lkdGg6IDIuN3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi43cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hcnJvdy5uZXh0OmJlZm9yZSB7Y29udGVudDogJ1xcZjA1NCc7Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO21hcmdpbi1sZWZ0OiAwLjRyZW07fVxuICAgIC5hcnJvdy5wcmV2OmJlZm9yZSB7Y29udGVudDogJ1xcZjA1Myc7Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO21hcmdpbi1yaWdodDogMC41cmVtO31cblxuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm90dG9tOiA1JTtcbiAgICAgICAgLm51bWJlcnMge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oMC4ycyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjJyZW07XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxufVxuIiwiLy8gTW9kdWxhciBTaG93Y2FzZSBzdHlsaW5nXG4ubW9kdWxhciB7XG4gICAgLmZlYXR1cmVzIHtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTsgXG4gICAgICAgIH1cblxuICAgICAgICBociB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNvcmUtZm9udC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci10ZXh0O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mZWF0dXJlLWl0ZW1zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICBAc3VwcG9ydHMgbm90IChmbGV4LXdyYXA6IHdyYXApIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmUge1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtbW9iaWxlLXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1tb2JpbGUtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpLmZhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAuMnJlbSAwIDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmJpZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAuZmVhdHVyZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkuZmEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgICAgICAgICAgICAgICAmLmljb24tb2Zmc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiLy8gTW9kdWxhciBCb3R0b20gc3R5bGluZ1xuLm1vZHVsYXIge1xuICAgIC5ib3R0b20ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5OyBcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci10ZXh0O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6ICRjb3JlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb3JlLWFjY2VudCwgMjAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmJvcmRlcmJvdHRvbSB7XG4gICAgICAgICAgICBociB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgaDQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyAgXG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2VydmljZXMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICAuc2VydmljZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDdyZW07XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA3cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uYWJvdXQge1xuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgfVxufVxuIiwiLy8gTW9kdWxhciBDb250YWN0IHN0eWxpbmdcbi5jb250YWN0IHtcbiAgICBoNCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlLW9ubHkpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDcwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIG1pbi13aWR0aDogODAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDkwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZHJvcHpvbmUge1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogOTAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGNvcmUtdGV4dCwgMC44KTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGNvcmUtdGV4dCwgMC44OSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBAZXh0ZW5kIGg0O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgI3NpbXBsZV9mb3JtLXN1Y2Nlc3MsICNzaW1wbGVfZm9ybS1zdWJtaXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIHZhcmlhYmxlc1xuJHRleHQtYmc6ICAgICAgICAjRUVFRUVFO1xuJHRleHQtcGFkZGluZzogICAycmVtO1xuJGltYWdlLW1hcmdpbjogICAgICAycmVtO1xuXG5cbi8vIHN0eWxpbmdcbi5jYWxsb3V0IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGV4dC1iZztcbiAgICBwYWRkaW5nOiAkdGV4dC1wYWRkaW5nICRjb250ZW50LXBhZGRpbmc7XG4gICAgcGFkZGluZy10b3A6ICR0ZXh0LXBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1vbmx5KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmNhbGxvdXQtbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwYWdlLWJnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA3cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICB9XG4gICAgLnByaWNpbmctY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC5wcmljaW5nLWl0ZW0ge1xuICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDByZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1yYW5nZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMi41JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEsMS4wMyk7XG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06c2NhbGUoMSwxLjAzKTtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOnNjYWxlKDEsMS4wMyk7XG4gICAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOnNjYWxlKDEsMS4wMyk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOnNjYWxlKDEsMS4wMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtYWluLWJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb3JlLWFjY2VudDtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIGg0O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci1jb2xvciAxcHggc29saWQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci1jb2xvciAxcHggc29saWQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZm9vdCB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvcmUtYWNjZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCBoNDtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDlyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIDAuNzUpO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC44NSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdXAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIHZhcmlhYmxlc1xuJG1vZHVsZS1iZzogICAgICAgICNFRUVFRUU7XG5cbi8vIHN0eWxpbmdcbi50ZWFtIHtcbiAgICBiYWNrZ3JvdW5kOiAkbW9kdWxlLWJnO1xuICAgIHBhZGRpbmc6IDRyZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICB9XG4gICAgLm1lbWJlcnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIC5tZW1iZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMjklO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0LXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ0JTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBociB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNvY2lhbC1pY29ucyB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIuMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIuMXJlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmRlZmF1bHQtYW5pbWF0aW9uO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC4xcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjUpO1xuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29yZS1hY2NlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyB2YXJpYWJsZXNcbiR0ZXh0LWJnOiAgICAgICAgI0VFRUVFRTtcbiR0ZXh0LXBhZGRpbmc6ICAgMnJlbTtcbiRpbWFnZS1tYXJnaW46ICAgICAgMnJlbTtcblxuXG4vLyBzdHlsaW5nXG4ucG9ydGZvbGlvIHtcbiAgICBwYWRkaW5nOiAkdGV4dC1wYWRkaW5nICRjb250ZW50LXBhZGRpbmc7XG4gICAgcGFkZGluZy10b3A6ICR0ZXh0LXBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1vbmx5KSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuICAgIC5ub3RlYm9va3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICAubm90ZWJvb2stcm93IHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtOTBweCAwcHggLTIwcHggJG1haW4tYmc7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRwYWRkaW5nLWhvcml6O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHBhZGRpbmctaG9yaXo7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLWhvcml6O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctaG9yaXo7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGV4dC1iZztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZS1vbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kcGFkZGluZy1ob3JpeiArIDRyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHBhZGRpbmctaG9yaXogKyA0cmVtIDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5vdGVib29rIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI0JTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wLXJhbmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjQlO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbC1tb2JpbGUtcmFuZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE3MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNC43cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZGVzYyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcC1yYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUtb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLW1vYmlsZS1yYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldC1yYW5nZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IFxuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBNkZFQSxBTk1BLE9NTk8sQ0FpQ0gsS0FBSyxDQUNELEVBQUUsRUFsQ1YsT0FBTyxDQWlDSCxLQUFLLENBUUQsRUFBRSxBQUNHLGFBQWEsRUExQzFCLE9BQU8sQ0FnREgsV0FB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 */ diff --git a/css-compiled/template.min.css b/css-compiled/template.min.css index 5cee7ae..1e382be 100644 --- a/css-compiled/template.min.css +++ b/css-compiled/template.min.css @@ -1 +1 @@ -#header #navbar .panel-activation,#header #navbar ul.navigation,#header .logo h3,#header .logo ul.social-icons,#header .search-box{position:relative;top:50%;transform:translateY(-50%)}.archive-list button,.button,.button-secondary,.contact button{display:inline-block;margin-right:5px;margin-bottom:10px;margin-left:5px;padding:7px 20px}.archive-list button.button-small,.button-small.button,.button-small.button-secondary,.contact button.button-small{font-size:.9rem;padding:3px 10px}body,html{height:100%}body{color:grey;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#87b672}a:hover{color:#558042}b,label,strong,th{font-weight:600}#container{position:relative;min-height:100%}.fullwidth #body{padding-right:0;padding-left:0}#body{padding-top:15rem;background:#fff}.left{float:left}.right{float:right}@font-face{font-family:novecento_sans_widedemibold;font-weight:400;font-style:normal;src:url(../fonts/Novecentosanswide-DemiBold-webfont.eot);src:url(../fonts/Novecentosanswide-DemiBold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Novecentosanswide-DemiBold-webfont.woff2) format('woff2'),url(../fonts/Novecentosanswide-DemiBold-webfont.woff) format('woff'),url(../fonts/Novecentosanswide-DemiBold-webfont.ttf) format('truetype'),url(../fonts/Novecentosanswide-DemiBold-webfont.svg#novecento_sans_widedemibold) format('svg')}@font-face{font-family:novecento_sans_widenormal;font-weight:400;font-style:normal;src:url(../fonts/Novecentosanswide-Normal-webfont.eot);src:url(../fonts/Novecentosanswide-Normal-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Novecentosanswide-Normal-webfont.woff2) format('woff2'),url(../fonts/Novecentosanswide-Normal-webfont.woff) format('woff'),url(../fonts/Novecentosanswide-Normal-webfont.ttf) format('truetype'),url(../fonts/Novecentosanswide-Normal-webfont.svg#novecento_sans_widenormal) format('svg')}@font-face{font-family:novecento_sans_widemedium;font-weight:400;font-style:normal;src:url(../fonts/Novecentosanswide-Medium-webfont.eot);src:url(../fonts/Novecentosanswide-Medium-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Novecentosanswide-Medium-webfont.woff2) format('woff2'),url(../fonts/Novecentosanswide-Medium-webfont.woff) format('woff'),url(../fonts/Novecentosanswide-Medium-webfont.ttf) format('truetype'),url(../fonts/Novecentosanswide-Medium-webfont.svg#novecento_sans_widemedium) format('svg')}@font-face{font-family:Pacifico;font-weight:400;font-style:normal;src:url(../fonts/pacifico.ttf) format('truetype')}#body,.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list .modular .bottom button,.archive-list .modular .showcase button,.archive-list button,.callout .pricing-container .pricing-item,.callout .pricing-container .pricing-item .foot,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact .modular .bottom button,.contact .modular .showcase button,.contact button,.contact input,.contact textarea,.default-animation,.logo h3,.logo ul.social-icons li,.logo ul.social-icons li a,.modal,.modular .bottom .archive-list button,.modular .bottom .button,.modular .bottom .contact button,.modular .showcase .archive-list button,.modular .showcase .button,.modular .showcase .contact button,.modular .slideme_container .arrow,.modular .slideme_container .pagination .numbers li,.notebook .screen .screen-content-hover,.team .members .social-icons li,.team .members .social-icons li a{transition:all .5s ease}#body,#header,.footer,.fullwidth #body>.modular-row,.fullwidth #breadcrumbs,.fullwidth #header,.fullwidth .blog-content-item,.fullwidth .blog-header,.fullwidth .content-wrapper,.fullwidth ul.pagination,.padding-horiz{padding-right:14rem;padding-left:14rem}@media only all and (min-width:60em) and (max-width:74.938em){#body,#header,.footer,.fullwidth #body>.modular-row,.fullwidth #breadcrumbs,.fullwidth #header,.fullwidth .blog-content-item,.fullwidth .blog-header,.fullwidth .content-wrapper,.fullwidth ul.pagination,.padding-horiz{padding-right:7rem;padding-left:7rem}}@media only all and (min-width:48em) and (max-width:59.938em){#body,#header,.footer,.fullwidth #body>.modular-row,.fullwidth #breadcrumbs,.fullwidth #header,.fullwidth .blog-content-item,.fullwidth .blog-header,.fullwidth .content-wrapper,.fullwidth ul.pagination,.padding-horiz{padding-right:7rem;padding-left:7rem}}@media only all and (max-width:47.938em){#body,#header,.footer,.fullwidth #body>.modular-row,.fullwidth #breadcrumbs,.fullwidth #header,.fullwidth .blog-content-item,.fullwidth .blog-header,.fullwidth .content-wrapper,.fullwidth ul.pagination,.padding-horiz{padding-right:1rem;padding-left:1rem}}.padding-vert{padding-top:3rem;padding-bottom:3rem}#header{position:absolute;z-index:10000;width:100%;height:12rem;background-color:rgba(255,255,255,.9);box-shadow:0 .05rem 1rem rgba(0,0,0,.15)}#header #navbar,#header .logo,#header .social-navigation,#header>.grid{height:50%}#header .fa{color:#000}#header .fixed{position:fixed;top:0;left:0;width:100%;padding-right:14rem;padding-left:14rem;opacity:.9;background:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.2)}@media only all and (max-width:47.938em){#header .fixed{padding-right:10px;padding-left:10px}}@media only all and (max-width:47.938em){#header .logo h3{font-size:1.9rem}}#header .search-box{display:block;float:right;text-align:right}#header .search-box i{position:absolute;z-index:-1;top:.5rem;right:.6rem;cursor:pointer;color:#fff}#header .search-box input::-webkit-search-cancel-button,#header .search-box input::-webkit-search-decoration{display:none}#header .search-box input[type=search]{font-family:inherit;font-size:100%;font-size:.9rem;-webkit-box-sizing:content-box;width:4rem;height:1.3rem;margin-bottom:0;cursor:pointer;transition:all .5s;color:transparent;border:0 none;outline:0;background:0 0;box-shadow:none;-webkit-appearance:textfield}#header .search-box input[type=search]:focus{width:10rem;cursor:auto;color:#fff;background-color:rgba(255,255,255,.3)}#header .search-box input:-moz-placeholder{color:transparent}#header .search-box input::-webkit-input-placeholder{color:transparent}@media only all and (max-width:59.938em){#header .search-box{position:absolute;top:50%;right:10px;transform:translateY(1rem);text-align:right}#header .search-box i{left:.6rem}#header .search-box input[type=search]{padding-right:2rem}#header .search-box input[type=search]:focus{width:8rem}}@media only all and (max-width:59.938em){#header .fixed .search-box{top:50%;transform:translateY(-50%)}}@media only all and (max-width:59.938em){#header .fixed .panel-activation{top:50%!important;transform:translateY(-50%)!important}}#header #navbar{font-size:1.1rem}@media only all and (max-width:47.938em){#header #navbar{margin-right:-1rem;margin-left:-1rem}#header #navbar.fixed{margin:0}}#header #navbar ul{margin:0;padding:0;list-style:none}#header #navbar ul.navigation{display:inline-block;float:left}#header #navbar ul.navigation li{position:relative;float:left;text-transform:uppercase}#header #navbar ul.navigation li a{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;display:inline-block;padding:.3rem .8rem}#header #navbar ul.navigation li a.active,#header #navbar ul.navigation li a:hover{color:#87b672}#header #navbar ul.navigation li:first-child a{padding-left:0}#header #navbar ul.navigation li ul{display:none;padding:0;box-shadow:0 .05rem 1rem rgba(0,0,0,.15)!important}#header #navbar ul.navigation li ul ul{top:0;left:100%}#header #navbar ul.navigation li:hover>ul{position:absolute;display:block;width:10rem;background:rgba(255,255,255,.9)}#header #navbar ul.navigation li:hover li{float:none;margin:0;padding:0}#header #navbar ul.navigation li:hover li a{display:block;padding:.5rem .8rem}#header #navbar ul.navigation li:hover li a:after,#header #navbar ul.navigation li:hover li a:before{display:none}#header #navbar ul.navigation li:hover li.active>a{color:#fff;background:#87b672}@media only all and (max-width:59.938em){#header #navbar ul.navigation{display:none}}#header #navbar .panel-activation{font-size:1.8rem;display:none;float:right;padding:1rem;cursor:pointer}@media only all and (max-width:59.938em){#header #navbar .panel-activation{position:absolute;top:50%;left:0;display:inline-block;transform:translateY(0)}}.modular.header-image #header .fixed{transition:background .3s ease-in-out;background:#666}.header-image.fullwidth #body{padding-right:0;padding-left:0}.header-image.fullwidth #body>.listing-row{padding-right:14rem;padding-left:14rem}.header-image .listing-row:last-child{margin-bottom:2rem}.header-image #body .flush-top{margin-top:-15.5rem;padding-top:16rem}.header-image #breadcrumbs{margin-top:1rem}.header-image #header{background-color:rgba(255,255,255,0);box-shadow:none}.header-image #header #logo a,.header-image #header #logo h3{color:#fff}.header-image #header .menu-btn,.header-image #header a{color:#fff}.header-image #header a:after,.header-image #header a:before{background-color:rgba(255,255,255,.7)!important}.header-image #header #navbar ul.navigation ul li a{color:#87b672;text-shadow:1px 1px 3px #656161}.header-image #header #navbar ul.navigation ul li a:hover{color:#558042}.header-lite #body{padding-top:12rem}.header-lite #header{color:#656161;box-shadow:none}.header-lite #header .menu-btn,.header-lite #header a{color:#656161}.header-lite #header .search-box i{color:#656161}.header-lite #header .search-box input[type=search]:focus{background-color:rgba(101,97,97,.2)}.header-lite #header li.active a{color:#87b672}.header-lite #header .logo ul.social-icons li{background:rgba(101,97,97,.2)}.header-lite #header .logo ul.social-icons li .fa{color:#fff}.header-lite #header .logo ul.social-icons li:hover .fa{color:#656161}.footer{font-size:.9rem;width:100%;padding-top:2rem;background:#333}.footer:after{display:table;clear:both;content:''}.footer a{color:grey}.archive-list .callout .pricing-container .pricing-item .foot .footer button,.archive-list .footer label,.callout .pricing-container .pricing-item .foot .archive-list .footer button,.callout .pricing-container .pricing-item .foot .contact .footer button,.callout .pricing-container .pricing-item .foot .footer .button,.callout .pricing-container .pricing-item .footer .name,.contact .callout .pricing-container .pricing-item .foot .footer button,.contact .footer label,.footer .archive-list .callout .pricing-container .pricing-item .foot button,.footer .archive-list label,.footer .callout .pricing-container .pricing-item .foot .archive-list button,.footer .callout .pricing-container .pricing-item .foot .button,.footer .callout .pricing-container .pricing-item .foot .contact button,.footer .callout .pricing-container .pricing-item .name,.footer .contact .callout .pricing-container .pricing-item .foot button,.footer .contact label,.footer .modular .bottom table th,.footer h4,.modular .bottom table .footer th{line-height:2rem;margin-top:0;text-align:left;color:#fff}.footer hr{border-color:rgba(128,128,128,.5)}@media only all and (max-width:47.938em){.footer .social-icons{float:none;clear:both;width:100%;padding-top:2rem}}@media only all and (min-width:48em) and (max-width:59.938em){.footer .social-icons{float:none;clear:both;width:100%;padding-top:2rem}}.footer .footer-items{margin-top:2rem}@media only all and (max-width:47.938em){.footer .footer-items{margin-top:0}}@supports not (flex-wrap:wrap){.footer .footer-items{overflow:hidden}}.footer .footer-items:after{display:table;clear:both;content:''}.footer .footer-module{display:block;float:left;width:25%;padding-right:2rem;vertical-align:top}.footer .footer-module.large{width:50%}@media only all and (min-width:30.063em) and (max-width:47.938em){.footer .footer-module{width:50%;margin-top:1rem}}@media only all and (max-width:30em){.footer .footer-module{width:100%;margin-top:1rem}}.footer .footer-module span:after{display:table;clear:both;content:''}.footer .footer-module label,.footer .footer-module strong,.footer .footer-module th{color:#fff}@media only all and (max-width:47.938em){.footer .footer-module{float:none;width:100%!important}}.footer .logo{color:#fff;border-bottom:0 none}.footer .logo:after{display:table;clear:both;content:''}.footer .logo h3 a{color:#fff}.footer .quickmenu{margin:0;padding:0;list-style:none}.footer .quickmenu i{font-size:.7rem;padding-right:.5rem;color:#fff}.footer .footer-modules{display:block;padding-bottom:1.5rem}.footer .footer-modules:after{display:table;clear:both;content:''}.footer .footer-copyright{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;display:inline-block;float:left;width:50%;text-align:left;text-transform:uppercase}@media only all and (max-width:47.938em){.footer .footer-copyright{float:none;width:100%;margin-bottom:1rem;text-align:left}}.footer .footer-menu{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;display:inline-block;float:right;width:50%;text-align:right;text-transform:uppercase}@media only all and (max-width:47.938em){.footer .footer-menu{float:none;width:100%;text-align:left}}.footer .footer-menu ul{margin:0;padding:0;list-style:none}.footer .footer-menu ul li{display:inline-block}.footer .footer-menu ul li:after{display:inline-block;margin:0 .5rem;content:'/'}.footer .footer-menu ul li:last-child:after{display:none}.footer .newsletter input{display:inline-block;height:2.5rem;border:0 none}.footer .newsletter input[type=text]{color:#fff;background-color:rgba(255,255,255,.2)}.footer .newsletter input[type=submit]{padding:0 1.2rem;vertical-align:top;color:#fff;background-color:rgba(255,255,255,.5)}body{font-family:'Helvetica Neue',HelveticaNeue-Light,'Helvetica Neue Light',Helvetica,Arial,'Lucida Grande',sans-serif;font-weight:400}.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list label,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact label,.modular .bottom table th,h1,h2,h3,h4,h5,h6{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;text-rendering:optimizeLegibility}h1{font-size:3.2rem}@media only all and (max-width:47.938em){h1{font-size:2.5rem;line-height:1.2;margin-bottom:2.5rem;text-shadow:1px 1px 3px #656161}}h2{font-size:1.4rem;font-weight:400;text-transform:uppercase}@media only all and (min-width:48em) and (max-width:59.938em){h2{font-size:-1rem}}@media only all and (max-width:47.938em){h2{font-size:-1.1rem}}@media only all and (min-width:48em) and (max-width:59.938em){h3{font-size:-.9rem}}@media only all and (max-width:47.938em){h3{font-size:-1rem}}.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list label,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact label,.modular .bottom table th,h4{font-size:1.2rem;font-weight:700;text-align:center;text-transform:uppercase;color:#656161}@media only all and (min-width:48em) and (max-width:59.938em){.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list label,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact label,.modular .bottom table th,h4{font-size:1.35rem}}@media only all and (max-width:47.938em){.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list label,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact label,.modular .bottom table th,h4{font-size:1.25rem}}h1{font-weight:400;text-align:center}h3{letter-spacing:-1px}h1+h2{font-family:'Helvetica Neue',HelveticaNeue-Light,'Helvetica Neue Light',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:1.4rem;font-weight:300;line-height:1;margin:-2rem 0 2rem 0;text-align:center}@media only all and (min-width:48em) and (max-width:59.938em){h1+h2{font-size:1.3rem}}@media only all and (max-width:47.938em){h1+h2{font-size:1rem}}h2+h3{font-family:'Helvetica Neue',HelveticaNeue-Light,'Helvetica Neue Light',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:1.3rem;font-weight:400;line-height:1;margin:.5rem 0 2rem 0;text-align:center}@media only all and (min-width:48em) and (max-width:59.938em){h2+h3{font-size:1.2rem}}@media only all and (max-width:47.938em){h2+h3{font-size:1.1rem}}blockquote{border-left:10px solid #f0f2f4}blockquote p{font-size:1.1rem;color:#999}blockquote cite{font-size:1.2rem;display:block;text-align:right;color:#666}blockquote>blockquote>blockquote{margin:0}blockquote>blockquote>blockquote p{font-size:1rem;display:block;margin-top:0;margin-bottom:0;padding:15px}blockquote>blockquote>blockquote>p{margin-left:-71px;color:#df8a13;border-left:10px solid #f0ad4e;background:#fcf8f2}blockquote>blockquote>blockquote>blockquote>p{margin-left:-94px;color:#b52b27;border-left:10px solid #d9534f;background:#fdf7f7}blockquote>blockquote>blockquote>blockquote>blockquote>p{margin-left:-118px;color:#28a1c5;border-left:10px solid #5bc0de;background:#f4f8fa}blockquote>blockquote>blockquote>blockquote>blockquote>blockquote>p{margin-left:-142px;color:#3d8b3d;border-left:10px solid #5cb85c;background:#f1f9f1}code,kbd,pre,samp{font-family:Inconsolata,monospace}code{color:#9c1d3d;background:#f9f2f4}pre{padding:2rem;border:1px solid #cbcbcb;border-radius:3px;background:#f6f6f6}pre code{color:#237794;background:inherit}hr{border-bottom:1px solid #cbcbcb}.page-title{float:left;clear:both;margin-top:-25px;padding:25px;color:#fff;background:#87b672}.label{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:.7rem;line-height:1rem;display:inline-block;min-width:1rem;height:1rem;margin-right:.75rem;text-align:center;vertical-align:middle;color:#fff;border-radius:100%;background:#87b672}fieldset{border:1px solid #cbcbcb}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select[multiple=multiple],textarea{border:1px solid #cbcbcb;background-color:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.06)}input[type=color]:hover,input[type=date]:hover,input[type=datetime-local]:hover,input[type=datetime]:hover,input[type=email]:hover,input[type=month]:hover,input[type=number]:hover,input[type=password]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=text]:hover,input[type=time]:hover,input[type=url]:hover,input[type=week]:hover,select[multiple=multiple]:hover,textarea:hover{border-color:#b2b1b1}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select[multiple=multiple]:focus,textarea:focus{border-color:#87b672;box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(121,173,97,.7)}.form-field .required{font-size:2rem;line-height:2rem;display:inline-block;height:1.5rem;vertical-align:top;color:#f3443f}form .buttons{text-align:center}form input{font-weight:400}table{border:1px solid #d8d8d8}th{padding:.5rem;background:#e5e4e4}td{padding:.5rem;border:1px solid #d8d8d8}.archive-list button,.button,.contact button{color:#fff;border:1px solid #87b672;background:#87b672}.archive-list button:hover,.button:hover,.contact button:hover{color:#87b672;background:#fff}.archive-list button:active,.button:active,.contact button:active{box-shadow:0 1px 0 #679b50}.button-secondary{color:#fff;border:1px solid #f6635e;background:#f6635e}.button-secondary:hover{color:#f6635e;background:#fff}.button-secondary:active{box-shadow:0 1px 0 #f32b24}.bullets{overflow:auto;margin:1.7rem 0;margin-right:-.85rem;margin-left:-.85rem}.bullet{float:left;padding:0 .85rem}.two-column-bullet{width:50%}@media only all and (max-width:47.938em){.two-column-bullet{width:100%}}.three-column-bullet{width:33.3333333333%}@media only all and (max-width:47.938em){.three-column-bullet{width:100%}}.four-column-bullet{width:25%}@media only all and (max-width:47.938em){.four-column-bullet{width:100%}}.bullet-icon{font-size:1.75rem;float:left;width:3.5rem;height:3.5rem;padding:.875rem;text-align:center;color:#fff;border-radius:50%;background:#87b672}.bullet-icon-1{background:#87b672}.bullet-icon-2{background:#9eb672}.bullet-icon-3{background:#b67292}.bullet-content{margin-left:4.55rem}.sb-slidebar{background-color:#333!important}#panel{padding-top:1rem;color:#ddd}#panel .navigation{margin-left:0;padding:0;list-style:none}#panel .navigation li{border-bottom:1px solid #3d3d3d}#panel .navigation li a{font-weight:600;display:block;padding:.5rem 1rem;color:#ddd}#panel .navigation li a:hover{color:#fff;background-color:#262626}#panel .navigation li a:last-child{border-bottom:0}#panel .navigation li.active>a{color:grey;background:#fff}#panel .navigation li.active>a:hover{color:grey}#panel .navigation li:first-child{border-top:1px solid #3d3d3d}#panel .navigation li ul{padding:0;list-style:none}#panel .navigation li ul li{border:0!important}#panel .navigation li ul li a{font-size:.9rem;padding:.2rem 1rem .2rem 2rem;color:#c4c3c3}#panel .navigation li ul li li a{padding-left:3rem}#panel .navigation li ul li li a li a{padding-left:4rem}#panel .navigation li ul li.active>a{background:#ccc}.portfolio-modal .close-modal{font-size:3rem;position:absolute;top:0;right:0;width:5rem;height:5rem;cursor:pointer;background-color:transparent}@media only all and (max-width:47.938em){.portfolio-modal .close-modal{display:none}}.modal{position:fixed;z-index:1050;top:0;right:0;bottom:0;left:0;display:none;overflow:hidden;text-align:center;opacity:0;outline:0;background:#fff;-webkit-overflow-scrolling:touch}@media only all and (max-width:47.938em){.modal h1{margin-bottom:.5rem}.modal p,.modal ul{margin:1rem 0}.modal ul{margin-top:0}}.modal.in{opacity:1}.modal .client-details{list-style-type:none}.modal .client-details li{display:inline-block}.modal .client-details li label,.modal .client-details li strong,.modal .client-details li th{font-weight:400;color:#87b672}.modal .modal-content{width:35rem;min-height:100%;margin:0 auto;margin-top:10rem}@media only all and (min-width:48em) and (max-width:59.938em){.modal .modal-content{width:100%}}@media only all and (max-width:47.938em){.modal .modal-content{width:100%;margin-top:0}}.modal .modal-content img{max-height:15rem}.blog-header{margin-top:0!important;padding-top:1rem!important;padding-bottom:1rem}.blog-header.blog-header-image{background-size:cover!important}.blog-header.blog-header-image h1,.blog-header.blog-header-image h2{text-align:left;color:#fff}.blog-header h1{font-size:2.5rem;margin-top:0;margin-bottom:0;text-transform:uppercase}@media only all and (min-width:48em) and (max-width:59.938em){.blog-header h1{font-size:2rem}}@media only all and (max-width:47.938em){.blog-header h1{font-size:1.5rem;line-height:1.2}}.blog-header+.blog-content{padding-top:3rem}.list-item{margin-bottom:3rem;border-bottom:1px solid #dadada}.list-item:last-child{border-bottom:0}.list-item .list-blog-header{position:relative}.archive-list .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button,.archive-list .list-item .list-blog-header label,.callout .pricing-container .pricing-item .foot .archive-list .list-item .list-blog-header button,.callout .pricing-container .pricing-item .foot .contact .list-item .list-blog-header button,.callout .pricing-container .pricing-item .foot .list-item .list-blog-header .button,.callout .pricing-container .pricing-item .list-item .list-blog-header .name,.contact .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button,.contact .list-item .list-blog-header label,.list-item .list-blog-header .archive-list .callout .pricing-container .pricing-item .foot button,.list-item .list-blog-header .archive-list label,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .archive-list button,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .button,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .contact button,.list-item .list-blog-header .callout .pricing-container .pricing-item .name,.list-item .list-blog-header .contact .callout .pricing-container .pricing-item .foot button,.list-item .list-blog-header .contact label,.list-item .list-blog-header .modular .bottom table th,.list-item .list-blog-header h4,.modular .bottom table .list-item .list-blog-header th{margin-bottom:1.5rem;text-align:left}.archive-list .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a,.archive-list .list-item .list-blog-header label a,.callout .pricing-container .pricing-item .foot .archive-list .list-item .list-blog-header button a,.callout .pricing-container .pricing-item .foot .contact .list-item .list-blog-header button a,.callout .pricing-container .pricing-item .foot .list-item .list-blog-header .button a,.callout .pricing-container .pricing-item .list-item .list-blog-header .name a,.contact .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a,.contact .list-item .list-blog-header label a,.list-item .list-blog-header .archive-list .callout .pricing-container .pricing-item .foot button a,.list-item .list-blog-header .archive-list label a,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .archive-list button a,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .button a,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .contact button a,.list-item .list-blog-header .callout .pricing-container .pricing-item .name a,.list-item .list-blog-header .contact .callout .pricing-container .pricing-item .foot button a,.list-item .list-blog-header .contact label a,.list-item .list-blog-header .modular .bottom table th a,.list-item .list-blog-header h4 a,.modular .bottom table .list-item .list-blog-header th a{color:#656161}.archive-list .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a:hover,.archive-list .list-item .list-blog-header label a:hover,.callout .pricing-container .pricing-item .foot .archive-list .list-item .list-blog-header button a:hover,.callout .pricing-container .pricing-item .foot .contact .list-item .list-blog-header button a:hover,.callout .pricing-container .pricing-item .foot .list-item .list-blog-header .button a:hover,.callout .pricing-container .pricing-item .list-item .list-blog-header .name a:hover,.contact .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a:hover,.contact .list-item .list-blog-header label a:hover,.list-item .list-blog-header .archive-list .callout .pricing-container .pricing-item .foot button a:hover,.list-item .list-blog-header .archive-list label a:hover,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .archive-list button a:hover,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .button a:hover,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .contact button a:hover,.list-item .list-blog-header .callout .pricing-container .pricing-item .name a:hover,.list-item .list-blog-header .contact .callout .pricing-container .pricing-item .foot button a:hover,.list-item .list-blog-header .contact label a:hover,.list-item .list-blog-header .modular .bottom table th a:hover,.list-item .list-blog-header h4 a:hover,.modular .bottom table .list-item .list-blog-header th a:hover{color:#87b672}.list-item .list-blog-header img{display:block;margin-top:1rem;border-radius:0}.list-item .list-blog-author,.list-item .list-blog-date{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;margin-right:.5rem;margin-bottom:.2rem;padding:.7rem 1rem;text-align:center;text-transform:uppercase;color:grey;background-color:rgba(101,97,97,.1)}@media only all and (min-width:48em) and (max-width:59.938em){.list-item .list-blog-author,.list-item .list-blog-date{display:block;clear:both;width:100%}}@media only all and (max-width:47.938em){.list-item .list-blog-author,.list-item .list-blog-date{display:block;clear:both;width:100%}}.blog-content-item .list-blog-padding>p:nth-child(2){font-size:1.2rem}.tags{display:inline;margin:0;margin-bottom:.2rem;padding:0;padding:.7rem 1rem;list-style:none;text-align:center;background-color:rgba(101,97,97,.1)}.tags li{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;display:inline-block;text-transform:uppercase}.tags li a{color:grey}.tags li a:after{content:','}.tags li:last-child a:after{display:none}@media only all and (min-width:48em) and (max-width:59.938em){.tags{display:block;clear:both;width:100%}}@media only all and (max-width:47.938em){.tags{display:block;clear:both;width:100%}}.archives,.related-pages{margin:0;padding:0;list-style:none}.archives li,.related-pages li{line-height:2rem}.archives li:last-child,.related-pages li:last-child{border-bottom:0}.archives a,.related-pages a{color:grey}.archives a:hover,.related-pages a:hover{color:#87b672}.related-pages li a{display:block}.related-pages .score{font-size:85%;display:block;float:right;color:#999}.syndicate a{margin-bottom:1rem}div#breadcrumbs{padding-left:0}@media only all and (max-width:47.938em){div#breadcrumbs{display:none}}#sidebar{padding-left:3rem}@media only all and (max-width:47.938em){#sidebar{padding-left:0}}#sidebar .sidebar-content{margin-bottom:3rem}#sidebar .sidebar-content .archive-list .callout .pricing-container .pricing-item .foot button,#sidebar .sidebar-content .archive-list label,#sidebar .sidebar-content .callout .pricing-container .pricing-item .foot .archive-list button,#sidebar .sidebar-content .callout .pricing-container .pricing-item .foot .button,#sidebar .sidebar-content .callout .pricing-container .pricing-item .foot .contact button,#sidebar .sidebar-content .callout .pricing-container .pricing-item .name,#sidebar .sidebar-content .contact .callout .pricing-container .pricing-item .foot button,#sidebar .sidebar-content .contact label,#sidebar .sidebar-content .modular .bottom table th,#sidebar .sidebar-content h4,.archive-list #sidebar .sidebar-content label,.archive-list .callout .pricing-container .pricing-item .foot #sidebar .sidebar-content button,.callout .pricing-container .pricing-item #sidebar .sidebar-content .name,.callout .pricing-container .pricing-item .foot #sidebar .sidebar-content .button,.callout .pricing-container .pricing-item .foot .archive-list #sidebar .sidebar-content button,.callout .pricing-container .pricing-item .foot .contact #sidebar .sidebar-content button,.contact #sidebar .sidebar-content label,.contact .callout .pricing-container .pricing-item .foot #sidebar .sidebar-content button,.modular .bottom table #sidebar .sidebar-content th{margin-bottom:1rem;text-align:left}#sidebar .sidebar-content p,#sidebar .sidebar-content ul{margin-top:1rem}ul.pagination{margin:0 0 3rem;text-align:center}.prev-next{margin-top:5rem;text-align:center}.archive-list .callout .pricing-container .pricing-item .foot .button,.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list .callout .pricing-container .pricing-item .name,.archive-list .modular .bottom table th,.archive-list h4,.archive-list label,.callout .pricing-container .pricing-item .archive-list .name,.callout .pricing-container .pricing-item .foot .archive-list .button,.callout .pricing-container .pricing-item .foot .archive-list button,.modular .bottom table .archive-list th{text-align:left}.archive-list input{line-height:2rem;width:50%}@media only all and (max-width:47.938em){.archive-list input{min-width:80%}}@media only all and (min-width:48em) and (max-width:59.938em){.archive-list input{min-width:70%}}.archive-list textarea{min-width:80%;min-height:25rem}@media only all and (max-width:47.938em){.archive-list textarea{min-width:100%}}@media only all and (min-width:48em) and (max-width:59.938em){.archive-list textarea{min-width:90%}}.archive-list input,.archive-list textarea{border:0 none;background:rgba(128,128,128,.2);box-shadow:none}.archive-list label{font-size:1rem}.archive-list button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;text-transform:uppercase}#error{display:-ms-flexbox;display:flex;height:100%;padding-bottom:12rem;text-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}#error h1{font-size:5rem}#error p{margin:1rem 0}.error #body{padding-top:16rem}.simplesearch h1{margin-bottom:0}.simplesearch .center{text-align:center}.simplesearch input{font-size:2rem;display:inline-block;max-width:30rem}.simplesearch .search-image{margin-top:1rem}.simplesearch .search-image img{border-radius:4px}@media only all and (max-width:47.938em){.simplesearch .search-image img{display:none}}@media only all and (max-width:47.938em){.simplesearch .search-item{margin-left:0}}.simplesearch .search-details{font-size:1rem;font-weight:700;float:right;margin-top:-2.5rem;color:#b3b3b3}@media only all and (max-width:47.938em){.simplesearch .search-details{float:none;margin-top:-.2rem;margin-bottom:1rem}}.simplesearch hr{border-bottom:1px solid #eee}.grav-lightslider .lSSlideOuter .lSPager.lSpg>li a{z-index:1}#body>script:first-child+.grav-lightslider{margin-top:-3rem}.modular.header-image #header{background-color:rgba(255,255,255,0);box-shadow:none}.modular.header-image #header #logo h3{color:#fff}.modular.header-image #header #navbar a{color:#fff}.modular .slideme_container{overflow:hidden;height:34.7rem;margin-top:-15rem;padding-top:15rem}.modular .slideme_container:after{display:table;clear:both;content:''}.modular .showcase{position:relative;z-index:1;padding-bottom:10rem;text-align:center;color:#fff;background-color:#666;background-position:center;background-size:cover}.modular .showcase h1{font-size:2.2rem;margin-top:0;padding-right:14rem;padding-left:14rem;text-transform:uppercase;text-shadow:1px 1px 3px #656161}@media only all and (min-width:48em) and (max-width:59.938em){.modular .showcase h1{font-size:1.5rem}}@media only all and (max-width:47.938em){.modular .showcase h1{font-size:1.3rem;line-height:1.2;margin-right:4rem;margin-left:4rem;padding-right:0;padding-left:0}}.modular .showcase h1 label,.modular .showcase h1 strong,.modular .showcase h1 th{color:#87b672}.modular .showcase h2{padding-right:14rem;padding-left:14rem;text-transform:none;text-shadow:1px 1px 3px #656161}@media only all and (max-width:47.938em){.modular .showcase h2{margin-right:4rem;margin-left:4rem;padding-right:0;padding-left:0}}.archive-list .modular .showcase button,.contact .modular .showcase button,.modular .showcase .archive-list button,.modular .showcase .button,.modular .showcase .contact button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;padding:.3rem 1rem;color:#fff;border:2px solid #fff;border-radius:0;background:rgba(255,255,255,0);box-shadow:none}.archive-list .modular .showcase button:hover,.contact .modular .showcase button:hover,.modular .showcase .archive-list button:hover,.modular .showcase .button:hover,.modular .showcase .contact button:hover{background:rgba(255,255,255,.2)}.modular .slideme_container .arrow{font-size:2.5rem;line-height:3.8rem;position:absolute;z-index:50;top:50%;display:block;padding-top:0;padding-right:.8rem;padding-bottom:0;padding-left:.8rem;cursor:pointer;text-align:center;opacity:.5;color:#000;border-radius:100%;background:#fff}@media only all and (max-width:47.938em){.modular .slideme_container .arrow{font-size:1.5rem;line-height:2.8rem}}.modular .slideme_container .arrow:hover{opacity:1}.modular .slideme_container .arrow.prev{left:4rem}@media only all and (max-width:47.938em){.modular .slideme_container .arrow.prev{left:1rem}}.modular .slideme_container .arrow.next{right:4rem}@media only all and (max-width:47.938em){.modular .slideme_container .arrow.next{right:1rem}}.modular .slideme_container .arrow:disabled{opacity:.1}@media only all and (max-width:47.938em){.modular .slideme_container .arrow{width:2.7rem;height:2.7rem}}.modular .slideme_container .arrow.next:before{font-family:FontAwesome;margin-left:.4rem;content:'\f054'}.modular .slideme_container .arrow.prev:before{font-family:FontAwesome;margin-right:.5rem;content:'\f053'}.modular .slideme_container .pagination{position:absolute;z-index:10;right:0;bottom:5%;left:0;text-align:center;vertical-align:middle}.modular .slideme_container .pagination .numbers li{display:inline-block;width:.5rem;height:.5rem;margin:0 .2rem;cursor:pointer;transition-duration:.2s;vertical-align:middle;border-radius:100%;background:#fff}.modular .slideme_container .pagination .numbers li.current{width:1rem;height:1rem}.modular .features{padding:4rem 0;padding-bottom:1rem;text-align:center}.modular .features:after{display:table;clear:both;content:''}.modular .features h2{line-height:100%;margin:0;color:#656161}.modular .features hr{margin-top:4rem}.modular .features p{margin:1rem 0}@media only all and (max-width:47.938em){.modular .features p{font-size:1rem}}.archive-list .modular .features button,.contact .modular .features button,.modular .features .archive-list button,.modular .features .button,.modular .features .contact button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;color:#fff;border-radius:0;background-color:#87b672;box-shadow:none}.modular .features .feature-items{margin-top:2rem}@supports not (flex-wrap:wrap){.modular .features .feature-items{overflow:hidden}}.modular .features .feature{display:block;float:left;width:25%;margin-top:2rem;margin-bottom:1rem;vertical-align:top}@media only all and (min-width:30.063em) and (max-width:47.938em){.modular .features .feature{width:50%;margin-top:1rem}}@media only all and (max-width:30em){.modular .features .feature{width:100%;margin-top:1rem}}.modular .features .feature i.fa{font-size:2rem}.archive-list .callout .pricing-container .pricing-item .foot .modular .features .feature button,.archive-list .modular .features .feature label,.callout .pricing-container .pricing-item .foot .archive-list .modular .features .feature button,.callout .pricing-container .pricing-item .foot .contact .modular .features .feature button,.callout .pricing-container .pricing-item .foot .modular .features .feature .button,.callout .pricing-container .pricing-item .modular .features .feature .name,.contact .callout .pricing-container .pricing-item .foot .modular .features .feature button,.contact .modular .features .feature label,.modular .bottom table .features .feature th,.modular .features .feature .archive-list .callout .pricing-container .pricing-item .foot button,.modular .features .feature .archive-list label,.modular .features .feature .bottom table th,.modular .features .feature .callout .pricing-container .pricing-item .foot .archive-list button,.modular .features .feature .callout .pricing-container .pricing-item .foot .button,.modular .features .feature .callout .pricing-container .pricing-item .foot .contact button,.modular .features .feature .callout .pricing-container .pricing-item .name,.modular .features .feature .contact .callout .pricing-container .pricing-item .foot button,.modular .features .feature .contact label,.modular .features .feature h4{font-size:1.1rem;margin:0}.modular .features .feature p{font-size:1rem;display:inline-block;margin:.2rem 0 1rem}.modular .features.big{text-align:center}.modular .features.big .feature{width:33.33%}@media only all and (max-width:30em){.modular .features.big .feature{width:100%;margin-top:1rem}}.modular .features.big i.fa{font-size:4.5rem;margin-bottom:1.5rem}.modular .features.big .feature-content{padding-right:2rem;text-align:justify}.modular .features.big .feature-content.icon-offset{margin-left:1rem}.archive-list .callout .pricing-container .pricing-item .foot .modular .features.big .feature-content button,.archive-list .modular .features.big .feature-content label,.callout .pricing-container .pricing-item .foot .archive-list .modular .features.big .feature-content button,.callout .pricing-container .pricing-item .foot .contact .modular .features.big .feature-content button,.callout .pricing-container .pricing-item .foot .modular .features.big .feature-content .button,.callout .pricing-container .pricing-item .modular .features.big .feature-content .name,.contact .callout .pricing-container .pricing-item .foot .modular .features.big .feature-content button,.contact .modular .features.big .feature-content label,.modular .bottom table .features.big .feature-content th,.modular .features.big .feature-content .archive-list .callout .pricing-container .pricing-item .foot button,.modular .features.big .feature-content .archive-list label,.modular .features.big .feature-content .bottom table th,.modular .features.big .feature-content .callout .pricing-container .pricing-item .foot .archive-list button,.modular .features.big .feature-content .callout .pricing-container .pricing-item .foot .button,.modular .features.big .feature-content .callout .pricing-container .pricing-item .foot .contact button,.modular .features.big .feature-content .callout .pricing-container .pricing-item .name,.modular .features.big .feature-content .contact .callout .pricing-container .pricing-item .foot button,.modular .features.big .feature-content .contact label,.modular .features.big .feature-content h4{font-size:1.2rem}.modular .features.big .feature-content p{padding:0}.modular .bottom{padding-bottom:4rem;text-align:center}.modular .bottom:after{display:table;clear:both;content:''}.modular .bottom h2{line-height:100%;margin:0;padding-top:3rem;color:#656161}.modular .bottom p{margin:1rem 0}@media only all and (max-width:47.938em){.modular .bottom p{font-size:1rem}}.archive-list .modular .bottom button,.contact .modular .bottom button,.modular .bottom .archive-list button,.modular .bottom .button,.modular .bottom .contact button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;color:#fff;border:0 none;border-radius:0;background-color:#87b672;box-shadow:none}.archive-list .modular .bottom button:hover,.contact .modular .bottom button:hover,.modular .bottom .archive-list button:hover,.modular .bottom .button:hover,.modular .bottom .contact button:hover{background-color:#558042}.modular .bottom.borderbottom{padding-bottom:0}.modular .bottom.borderbottom hr{padding-top:3rem}.modular .bottom table{border:0 none}.modular .bottom table th{text-align:left;background:0 0}@media only all and (max-width:47.938em){.modular .bottom table th{display:none}}.modular .bottom table td{text-align:left;vertical-align:top;border:0 none}@media only all and (max-width:47.938em){.modular .bottom table td{display:block}}.modular .bottom .services{padding-top:2rem}.modular .bottom .services .service{display:block;float:left;width:50%;text-align:left}@media only all and (max-width:47.938em){.modular .bottom .services .service{width:100%}}.modular .bottom .services .service .fa{font-size:6rem;float:left;width:7rem;height:6rem;margin-top:.5rem}.modular .bottom .services .service p{margin-top:.5rem;margin-right:1rem;margin-left:7rem}.archive-list .callout .pricing-container .pricing-item .foot .modular .bottom .services .service button,.archive-list .modular .bottom .services .service label,.callout .pricing-container .pricing-item .foot .archive-list .modular .bottom .services .service button,.callout .pricing-container .pricing-item .foot .contact .modular .bottom .services .service button,.callout .pricing-container .pricing-item .foot .modular .bottom .services .service .button,.callout .pricing-container .pricing-item .modular .bottom .services .service .name,.contact .callout .pricing-container .pricing-item .foot .modular .bottom .services .service button,.contact .modular .bottom .services .service label,.modular .bottom .services .service .archive-list .callout .pricing-container .pricing-item .foot button,.modular .bottom .services .service .archive-list label,.modular .bottom .services .service .callout .pricing-container .pricing-item .foot .archive-list button,.modular .bottom .services .service .callout .pricing-container .pricing-item .foot .button,.modular .bottom .services .service .callout .pricing-container .pricing-item .foot .contact button,.modular .bottom .services .service .callout .pricing-container .pricing-item .name,.modular .bottom .services .service .contact .callout .pricing-container .pricing-item .foot button,.modular .bottom .services .service .contact label,.modular .bottom .services .service h4,.modular .bottom .services .service table th,.modular .bottom table .services .service th{margin-bottom:0;text-align:left}.about hr{margin:3rem 0}.callout .pricing-container .pricing-item .contact .name,.callout .pricing-container .pricing-item .foot .contact .button,.callout .pricing-container .pricing-item .foot .contact button,.contact .callout .pricing-container .pricing-item .foot .button,.contact .callout .pricing-container .pricing-item .foot button,.contact .callout .pricing-container .pricing-item .name,.contact .modular .bottom table th,.contact h4,.contact label,.modular .bottom table .contact th{text-align:left}.contact input{line-height:2rem;width:50%}@media only all and (max-width:47.938em){.contact input{min-width:80%}}@media only all and (min-width:48em) and (max-width:59.938em){.contact input{min-width:70%}}.contact textarea{min-width:80%;min-height:25rem}@media only all and (max-width:47.938em){.contact textarea{min-width:100%}}@media only all and (min-width:48em) and (max-width:59.938em){.contact textarea{min-width:90%}}.contact input,.contact textarea{border:0 none;background:rgba(128,128,128,.2);box-shadow:none}.contact input:focus,.contact textarea:focus{border-radius:0!important;background:rgba(128,128,128,.11);box-shadow:none}.contact label{font-size:1rem}.contact button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;display:block;text-transform:uppercase}.contact #simple_form-submit,.contact #simple_form-success{display:inline-block}.contact #simple_form-submit label,.contact #simple_form-submit strong,.contact #simple_form-submit th,.contact #simple_form-success label,.contact #simple_form-success strong,.contact #simple_form-success th{margin-left:1rem}.contact #simple_form-submit .close,.contact #simple_form-success .close{display:none}.callout{position:relative;clear:both;overflow:hidden;padding:2rem .938rem;padding-top:2rem;padding-bottom:0;text-align:center;background:#eee}@media only all and (max-width:59.938em){.callout{text-align:center}}.callout .callout-line{position:absolute;z-index:0;bottom:0;left:0;width:100%;height:7rem;background:#fff}.callout .pricing-container{position:relative;z-index:10;min-height:31rem;margin-top:2rem;text-align:center}.callout .pricing-container:after{display:table;clear:both;content:''}.callout .pricing-container .pricing-item{position:relative;display:inline-grid;width:80%;margin-right:3rem;margin-bottom:2rem;margin-left:0;-webkit-transform:translateZ(0)}@media only all and (max-width:47.938em){.callout .pricing-container .pricing-item{width:100%}}@media only all and (min-width:48em) and (max-width:59.938em){.callout .pricing-container .pricing-item{width:100%}}@media only all and (min-width:60em) and (max-width:74.938em){.callout .pricing-container .pricing-item{width:22.5%}}.callout .pricing-container .pricing-item:hover{transform:scale(1,1.03)}.callout .pricing-container .pricing-item div{background:#f7f7f7}.callout .pricing-container .pricing-item .name{padding:.5rem 0;color:#fff;background:#87b672}.callout .pricing-container .pricing-item .info{padding-top:1rem;padding-right:1rem;padding-bottom:1rem;padding-left:1rem;text-align:left;border-bottom:#eee 1px solid}.callout .pricing-container .pricing-item .price{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:2.5rem;font-weight:700;font-weight:400;line-height:5rem;color:#656161;border-bottom:#eee 1px solid}.callout .pricing-container .pricing-item .foot{padding:1rem 0;text-align:center;color:#fff;background:#87b672}.archive-list .callout .pricing-container .pricing-item .foot button,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.contact .callout .pricing-container .pricing-item .foot button{font-size:1rem;line-height:2.5rem;display:inline-block;width:9rem;margin:0;padding:0;color:#fff;background:rgba(255,255,255,.25)}.archive-list .callout .pricing-container .pricing-item .foot button:hover,.callout .pricing-container .pricing-item .foot .archive-list button:hover,.callout .pricing-container .pricing-item .foot .button:hover,.callout .pricing-container .pricing-item .foot .contact button:hover,.contact .callout .pricing-container .pricing-item .foot button:hover{background:rgba(255,255,255,.15)}.callout .pricing-container .pricing-item sup{font-size:2rem}.team{padding:4rem 0;text-align:center;background:#eee}.team:after{display:table;clear:both;content:''}.team h2{line-height:100%;margin:0;color:#656161}.team p{margin:1rem 0}.team .members{width:100%;padding-top:2rem;text-align:left}.team .members .member{display:inline-block;float:left;width:29%;margin:0 1rem;margin-bottom:2rem}@media only all and (max-width:47.938em){.team .members .member{display:block;width:100%;margin:0;margin-bottom:2rem;text-align:center}}@media only all and (min-width:48em) and (max-width:59.938em){.team .members .member{display:block;width:44%;margin-bottom:2rem}}.archive-list .callout .pricing-container .pricing-item .foot .team .members .member button,.archive-list .team .members .member label,.callout .pricing-container .pricing-item .foot .archive-list .team .members .member button,.callout .pricing-container .pricing-item .foot .contact .team .members .member button,.callout .pricing-container .pricing-item .foot .team .members .member .button,.callout .pricing-container .pricing-item .team .members .member .name,.contact .callout .pricing-container .pricing-item .foot .team .members .member button,.contact .team .members .member label,.modular .bottom table .team .members .member th,.team .members .member .archive-list .callout .pricing-container .pricing-item .foot button,.team .members .member .archive-list label,.team .members .member .callout .pricing-container .pricing-item .foot .archive-list button,.team .members .member .callout .pricing-container .pricing-item .foot .button,.team .members .member .callout .pricing-container .pricing-item .foot .contact button,.team .members .member .callout .pricing-container .pricing-item .name,.team .members .member .contact .callout .pricing-container .pricing-item .foot button,.team .members .member .contact label,.team .members .member .modular .bottom table th,.team .members .member h4{margin-bottom:0;text-align:left}@media only all and (max-width:47.938em){.archive-list .callout .pricing-container .pricing-item .foot .team .members .member button,.archive-list .team .members .member label,.callout .pricing-container .pricing-item .foot .archive-list .team .members .member button,.callout .pricing-container .pricing-item .foot .contact .team .members .member button,.callout .pricing-container .pricing-item .foot .team .members .member .button,.callout .pricing-container .pricing-item .team .members .member .name,.contact .callout .pricing-container .pricing-item .foot .team .members .member button,.contact .team .members .member label,.modular .bottom table .team .members .member th,.team .members .member .archive-list .callout .pricing-container .pricing-item .foot button,.team .members .member .archive-list label,.team .members .member .callout .pricing-container .pricing-item .foot .archive-list button,.team .members .member .callout .pricing-container .pricing-item .foot .button,.team .members .member .callout .pricing-container .pricing-item .foot .contact button,.team .members .member .callout .pricing-container .pricing-item .name,.team .members .member .contact .callout .pricing-container .pricing-item .foot button,.team .members .member .contact label,.team .members .member .modular .bottom table th,.team .members .member h4{text-align:center}}.team .members .member hr{margin:1rem 0}.team .members .social-icons{line-height:2rem;margin:0;list-style:none}@media only all and (max-width:47.938em){.team .members .social-icons{display:-ms-inline-flexbox;display:inline-flex;text-align:center}}.team .members .social-icons li{float:left;width:2.1rem;height:2.1rem;margin-right:.8rem;text-align:center;border-radius:100%;background:#fff}.team .members .social-icons li a{display:block;margin-top:.1rem;color:#000}.team .members .social-icons li:hover{background:rgba(255,255,255,.5)}.team .members .social-icons li:hover i{color:#87b672}.portfolio{padding:2rem .938rem;padding-top:2rem;padding-bottom:1rem;text-align:center}@media only all and (max-width:59.938em){.portfolio{text-align:center}}.portfolio h2{color:#656161}.portfolio .notebooks{margin-top:4rem}.portfolio .notebooks .notebook-row{margin-right:-14rem;margin-left:-14rem;padding-right:14rem;padding-bottom:2rem;padding-left:14rem;background:#eee;box-shadow:inset 0 -90px 0 -20px #f7f7f7}@media only all and (max-width:47.938em){.portfolio .notebooks .notebook-row{margin-right:-10rem;margin-left:-10rem}}.portfolio .notebooks .notebook-row .notebook{min-width:24%}@media only all and (min-width:48em) and (max-width:59.938em){.portfolio .notebooks .notebook-row .notebook{width:100%}}@media only all and (min-width:60em) and (max-width:74.938em){.portfolio .notebooks .notebook-row .notebook{float:none;min-width:24%}}@media only all and (max-width:30em){.portfolio .notebooks .notebook-row .notebook{width:170%;margin-left:-4.7rem}}.archive-list .callout .pricing-container .pricing-item .foot .portfolio .notebooks .notebook-row .notebook button,.archive-list .portfolio .notebooks .notebook-row .notebook label,.callout .pricing-container .pricing-item .foot .archive-list .portfolio .notebooks .notebook-row .notebook button,.callout .pricing-container .pricing-item .foot .contact .portfolio .notebooks .notebook-row .notebook button,.callout .pricing-container .pricing-item .foot .portfolio .notebooks .notebook-row .notebook .button,.callout .pricing-container .pricing-item .portfolio .notebooks .notebook-row .notebook .name,.contact .callout .pricing-container .pricing-item .foot .portfolio .notebooks .notebook-row .notebook button,.contact .portfolio .notebooks .notebook-row .notebook label,.modular .bottom table .portfolio .notebooks .notebook-row .notebook th,.portfolio .notebooks .notebook-row .notebook .archive-list .callout .pricing-container .pricing-item .foot button,.portfolio .notebooks .notebook-row .notebook .archive-list label,.portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .foot .archive-list button,.portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .foot .button,.portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .foot .contact button,.portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .name,.portfolio .notebooks .notebook-row .notebook .contact .callout .pricing-container .pricing-item .foot button,.portfolio .notebooks .notebook-row .notebook .contact label,.portfolio .notebooks .notebook-row .notebook .modular .bottom table th,.portfolio .notebooks .notebook-row .notebook h4{margin-bottom:0;text-align:left}.portfolio .notebooks .notebook-row .notebook p{margin-top:0}.portfolio .notebooks .notebook-row .notebook .desc{width:20rem;margin-left:2rem}@media only all and (min-width:60em) and (max-width:74.938em){.portfolio .notebooks .notebook-row .notebook .desc{width:100%}}@media only all and (max-width:47.938em){.portfolio .notebooks .notebook-row .notebook .desc{width:80%}}@media only all and (max-width:30em){.portfolio .notebooks .notebook-row .notebook .desc{width:80%}}@media only all and (min-width:48em) and (max-width:59.938em){.portfolio .notebooks .notebook-row .notebook .desc{width:100%}}.logo{border-bottom:1px solid #eaeaea}.logo h3{font-family:Pacifico,monospace;font-size:2.5rem;line-height:2rem;float:left;margin:0}.logo h3 a{color:grey}.archive-list .callout .pricing-container .pricing-item .foot .logo button,.archive-list .logo label,.callout .pricing-container .pricing-item .foot .archive-list .logo button,.callout .pricing-container .pricing-item .foot .contact .logo button,.callout .pricing-container .pricing-item .foot .logo .button,.callout .pricing-container .pricing-item .logo .name,.contact .callout .pricing-container .pricing-item .foot .logo button,.contact .logo label,.logo .archive-list .callout .pricing-container .pricing-item .foot button,.logo .archive-list label,.logo .callout .pricing-container .pricing-item .foot .archive-list button,.logo .callout .pricing-container .pricing-item .foot .button,.logo .callout .pricing-container .pricing-item .foot .contact button,.logo .callout .pricing-container .pricing-item .name,.logo .contact .callout .pricing-container .pricing-item .foot button,.logo .contact label,.logo .modular .bottom table th,.logo h4,.modular .bottom table .logo th{text-align:left}.logo ul{margin:0;padding:0;list-style:none}.logo ul.social-icons{line-height:2rem;float:right;margin:0}.logo ul.social-icons li{float:left;width:2.1rem;height:2.1rem;margin-right:.8rem;text-align:center;border-radius:100%;background:#fff}.logo ul.social-icons li a{display:block;margin-top:.1rem;color:#000}.logo ul.social-icons li:hover{background:rgba(255,255,255,.5)}.notebook{position:relative;z-index:10;display:inline-block;min-width:33%;text-align:left}@media only all and (min-width:60em) and (max-width:74.938em){.notebook{float:none;width:100%}}@media only all and (min-width:48em) and (max-width:59.938em){.notebook{float:none;width:100%}}@media only all and (max-width:47.938em){.notebook{float:none;width:100%}}@media only all and (max-width:30em){.notebook{float:none;width:150%;margin-left:-5.1rem}}.notebook .screen:before{position:absolute;width:.25rem;height:.25rem;margin:.3125rem 0 0 8.625rem;content:'';border-radius:50%;background:#e5ebed}.notebook .screen{width:18.28rem;height:11.72rem;margin:0 auto;border-radius:.5rem .5rem 0 0;background:#464c51}.notebook .screen .screen-content{position:absolute;z-index:1;width:16.73rem;height:10.1rem;margin-top:.8rem;margin-left:.8rem;background-repeat:no-repeat;background-size:cover}.notebook .screen .screen-content-hover{font-size:2rem;position:absolute;z-index:2;width:16.73rem;height:10.1rem;margin-top:.8rem;margin-left:.8rem;opacity:0;color:#464c51;background-color:#87b672}.notebook .screen .screen-content-hover .fa-arrow-up-right-from-square{margin-top:2.5rem;margin-left:4.7rem}.notebook .screen .screen-content-hover:hover{opacity:.8}.notebook .screen:after{position:absolute;width:16.63rem;height:10rem;margin:.875rem 0 0 .8125rem;content:'';transition:background 1s ease-in-out;border-radius:.125rem;background:#161b21}.notebook .keyboard{width:21.88rem;height:1.25rem;margin:0 auto;border-radius:0 0 .3125rem .3125rem;background:#dfdcdc}.notebook .keyboard:after{position:absolute;width:3.125rem;height:.375rem;margin:0 0 0 9.375rem;content:'';border-radius:0 0 .5rem .5rem;background:#757979}.keyboard:before{position:absolute;z-index:-1;width:23.13rem;height:.5rem;margin:.4375rem 0 0 -.625rem;content:'';border-radius:100%} \ No newline at end of file +#header #navbar .panel-activation,#header #navbar ul.navigation,#header .logo h3,#header .logo ul.social-icons,#header .search-box{position:relative;top:50%;transform:translateY(-50%)}.archive-list button,.button,.button-secondary,.contact button{display:inline-block;margin-right:5px;margin-bottom:10px;margin-left:5px;padding:7px 20px}.archive-list button.button-small,.button-small.button,.button-small.button-secondary,.contact button.button-small{font-size:.9rem;padding:3px 10px}body,html{height:100%}body{color:grey;background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#87b672}a:hover{color:#558042}b,label,strong,th{font-weight:600}#container{position:relative;min-height:100%}.fullwidth #body{padding-right:0;padding-left:0}#body{padding-top:15rem;background:#fff}.left{float:left}.right{float:right}@font-face{font-family:novecento_sans_widedemibold;font-weight:400;font-style:normal;src:url(../fonts/Novecentosanswide-DemiBold-webfont.eot);src:url(../fonts/Novecentosanswide-DemiBold-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Novecentosanswide-DemiBold-webfont.woff2) format('woff2'),url(../fonts/Novecentosanswide-DemiBold-webfont.woff) format('woff'),url(../fonts/Novecentosanswide-DemiBold-webfont.ttf) format('truetype'),url(../fonts/Novecentosanswide-DemiBold-webfont.svg#novecento_sans_widedemibold) format('svg')}@font-face{font-family:novecento_sans_widenormal;font-weight:400;font-style:normal;src:url(../fonts/Novecentosanswide-Normal-webfont.eot);src:url(../fonts/Novecentosanswide-Normal-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Novecentosanswide-Normal-webfont.woff2) format('woff2'),url(../fonts/Novecentosanswide-Normal-webfont.woff) format('woff'),url(../fonts/Novecentosanswide-Normal-webfont.ttf) format('truetype'),url(../fonts/Novecentosanswide-Normal-webfont.svg#novecento_sans_widenormal) format('svg')}@font-face{font-family:novecento_sans_widemedium;font-weight:400;font-style:normal;src:url(../fonts/Novecentosanswide-Medium-webfont.eot);src:url(../fonts/Novecentosanswide-Medium-webfont.eot?#iefix) format('embedded-opentype'),url(../fonts/Novecentosanswide-Medium-webfont.woff2) format('woff2'),url(../fonts/Novecentosanswide-Medium-webfont.woff) format('woff'),url(../fonts/Novecentosanswide-Medium-webfont.ttf) format('truetype'),url(../fonts/Novecentosanswide-Medium-webfont.svg#novecento_sans_widemedium) format('svg')}@font-face{font-family:Pacifico;font-weight:400;font-style:normal;src:url(../fonts/pacifico.ttf) format('truetype')}#body,.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list .modular .bottom button,.archive-list .modular .showcase button,.archive-list button,.callout .pricing-container .pricing-item,.callout .pricing-container .pricing-item .foot,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact .modular .bottom button,.contact .modular .showcase button,.contact button,.contact input,.contact textarea,.default-animation,.logo h3,.logo ul.social-icons li,.logo ul.social-icons li a,.modal,.modular .bottom .archive-list button,.modular .bottom .button,.modular .bottom .contact button,.modular .showcase .archive-list button,.modular .showcase .button,.modular .showcase .contact button,.modular .slideme_container .arrow,.modular .slideme_container .pagination .numbers li,.notebook .screen .screen-content-hover,.team .members .social-icons li,.team .members .social-icons li a{transition:all .5s ease}#body,#header,.footer,.fullwidth #body>.modular-row,.fullwidth #breadcrumbs,.fullwidth #header,.fullwidth .blog-content-item,.fullwidth .blog-header,.fullwidth .content-wrapper,.fullwidth ul.pagination,.padding-horiz{padding-right:14rem;padding-left:14rem}@media only all and (min-width:60em) and (max-width:74.938em){#body,#header,.footer,.fullwidth #body>.modular-row,.fullwidth #breadcrumbs,.fullwidth #header,.fullwidth .blog-content-item,.fullwidth .blog-header,.fullwidth .content-wrapper,.fullwidth ul.pagination,.padding-horiz{padding-right:7rem;padding-left:7rem}}@media only all and (min-width:48em) and (max-width:59.938em){#body,#header,.footer,.fullwidth #body>.modular-row,.fullwidth #breadcrumbs,.fullwidth #header,.fullwidth .blog-content-item,.fullwidth .blog-header,.fullwidth .content-wrapper,.fullwidth ul.pagination,.padding-horiz{padding-right:7rem;padding-left:7rem}}@media only all and (max-width:47.938em){#body,#header,.footer,.fullwidth #body>.modular-row,.fullwidth #breadcrumbs,.fullwidth #header,.fullwidth .blog-content-item,.fullwidth .blog-header,.fullwidth .content-wrapper,.fullwidth ul.pagination,.padding-horiz{padding-right:1rem;padding-left:1rem}}.padding-vert{padding-top:3rem;padding-bottom:3rem}#header{position:absolute;z-index:10000;width:100%;height:12rem;background-color:rgba(255,255,255,.9);box-shadow:0 .05rem 1rem rgba(0,0,0,.15)}#header #navbar,#header .logo,#header .social-navigation,#header>.grid{height:50%}#header .fa{color:#000}#header .fixed{position:fixed;top:0;left:0;width:100%;padding-right:14rem;padding-left:14rem;opacity:.9;background:#fff;box-shadow:0 0 20px 0 rgba(0,0,0,.2)}@media only all and (max-width:47.938em){#header .fixed{padding-right:10px;padding-left:10px}}@media only all and (max-width:47.938em){#header .logo h3{font-size:1.9rem}}#header .search-box{display:block;float:right;text-align:right}#header .search-box i{position:absolute;z-index:-1;top:.5rem;right:.6rem;cursor:pointer;color:#fff}#header .search-box input::-webkit-search-cancel-button,#header .search-box input::-webkit-search-decoration{display:none}#header .search-box input[type=search]{font-family:inherit;font-size:100%;font-size:.9rem;-webkit-box-sizing:content-box;width:4rem;height:1.3rem;margin-bottom:0;cursor:pointer;transition:all .5s;color:transparent;border:0 none;outline:0;background:0 0;box-shadow:none;-webkit-appearance:textfield}#header .search-box input[type=search]:focus{width:10rem;cursor:auto;color:#fff;background-color:rgba(255,255,255,.3)}#header .search-box input:-moz-placeholder{color:transparent}#header .search-box input::-webkit-input-placeholder{color:transparent}@media only all and (max-width:59.938em){#header .search-box{position:absolute;top:50%;right:10px;transform:translateY(1rem);text-align:right}#header .search-box i{left:.6rem}#header .search-box input[type=search]{padding-right:2rem}#header .search-box input[type=search]:focus{width:8rem}}@media only all and (max-width:59.938em){#header .fixed .search-box{top:50%;transform:translateY(-50%)}}@media only all and (max-width:59.938em){#header .fixed .panel-activation{top:50%!important;transform:translateY(-50%)!important}}#header #navbar{font-size:1.1rem}@media only all and (max-width:47.938em){#header #navbar{margin-right:-1rem;margin-left:-1rem}#header #navbar.fixed{margin:0}}#header #navbar ul{margin:0;padding:0;list-style:none}#header #navbar ul.navigation{display:inline-block;float:left}#header #navbar ul.navigation li{position:relative;float:left;text-transform:uppercase}#header #navbar ul.navigation li a{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;display:inline-block;padding:.3rem .8rem}#header #navbar ul.navigation li a.active,#header #navbar ul.navigation li a:hover{color:#87b672}#header #navbar ul.navigation li:first-child a{padding-left:0}#header #navbar ul.navigation li ul{display:none;padding:0;box-shadow:0 .05rem 1rem rgba(0,0,0,.15)!important}#header #navbar ul.navigation li ul ul{top:0;left:100%}#header #navbar ul.navigation li:hover>ul{position:absolute;display:block;width:10rem;background:rgba(255,255,255,.9)}#header #navbar ul.navigation li:hover li{float:none;margin:0;padding:0}#header #navbar ul.navigation li:hover li a{display:block;padding:.5rem .8rem}#header #navbar ul.navigation li:hover li a:after,#header #navbar ul.navigation li:hover li a:before{display:none}#header #navbar ul.navigation li:hover li.active>a{color:#fff;background:#87b672}@media only all and (max-width:59.938em){#header #navbar ul.navigation{display:none}}#header #navbar .panel-activation{font-size:1.8rem;display:none;float:right;padding:1rem;cursor:pointer}@media only all and (max-width:59.938em){#header #navbar .panel-activation{position:absolute;top:50%;left:0;display:inline-block;transform:translateY(0)}}.modular.header-image #header .fixed{transition:background .3s ease-in-out;background:#666}.header-image.fullwidth #body{padding-right:0;padding-left:0}.header-image.fullwidth #body>.listing-row{padding-right:14rem;padding-left:14rem}.header-image .listing-row:last-child{margin-bottom:2rem}.header-image #body .flush-top{margin-top:-15.5rem;padding-top:16rem}.header-image #breadcrumbs{margin-top:1rem}.header-image #header{background-color:rgba(255,255,255,0);box-shadow:none}.header-image #header #logo a,.header-image #header #logo h3{color:#fff}.header-image #header .menu-btn,.header-image #header a{color:#fff}.header-image #header a:after,.header-image #header a:before{background-color:rgba(255,255,255,.7)!important}.header-image #header #navbar ul.navigation ul li a{color:#87b672;text-shadow:1px 1px 3px #656161}.header-image #header #navbar ul.navigation ul li a:hover{color:#558042}.header-lite #body{padding-top:12rem}.header-lite #header{color:#656161;box-shadow:none}.header-lite #header .menu-btn,.header-lite #header a{color:#656161}.header-lite #header .search-box i{color:#656161}.header-lite #header .search-box input[type=search]:focus{background-color:rgba(101,97,97,.2)}.header-lite #header li.active a{color:#87b672}.header-lite #header .logo ul.social-icons li{background:rgba(101,97,97,.2)}.header-lite #header .logo ul.social-icons li .fa{color:#fff}.header-lite #header .logo ul.social-icons li:hover .fa{color:#656161}.footer{font-size:.9rem;width:100%;padding-top:2rem;background:#333}.footer:after{display:table;clear:both;content:''}.footer a{color:grey}.archive-list .callout .pricing-container .pricing-item .foot .footer button,.archive-list .footer label,.callout .pricing-container .pricing-item .foot .archive-list .footer button,.callout .pricing-container .pricing-item .foot .contact .footer button,.callout .pricing-container .pricing-item .foot .footer .button,.callout .pricing-container .pricing-item .footer .name,.contact .callout .pricing-container .pricing-item .foot .footer button,.contact .footer label,.footer .archive-list .callout .pricing-container .pricing-item .foot button,.footer .archive-list label,.footer .callout .pricing-container .pricing-item .foot .archive-list button,.footer .callout .pricing-container .pricing-item .foot .button,.footer .callout .pricing-container .pricing-item .foot .contact button,.footer .callout .pricing-container .pricing-item .name,.footer .contact .callout .pricing-container .pricing-item .foot button,.footer .contact label,.footer .modular .bottom table th,.footer h4,.modular .bottom table .footer th{line-height:2rem;margin-top:0;text-align:left;color:#fff}.footer hr{border-color:rgba(128,128,128,.5)}@media only all and (max-width:47.938em){.footer .social-icons{float:none;clear:both;width:100%;padding-top:2rem}}@media only all and (min-width:48em) and (max-width:59.938em){.footer .social-icons{float:none;clear:both;width:100%;padding-top:2rem}}.footer .footer-items{margin-top:2rem}@media only all and (max-width:47.938em){.footer .footer-items{margin-top:0}}@supports not (flex-wrap:wrap){.footer .footer-items{overflow:hidden}}.footer .footer-items:after{display:table;clear:both;content:''}.footer .footer-module{display:block;float:left;width:25%;padding-right:2rem;vertical-align:top}.footer .footer-module.large{width:50%}@media only all and (min-width:30.063em) and (max-width:47.938em){.footer .footer-module{width:50%;margin-top:1rem}}@media only all and (max-width:30em){.footer .footer-module{width:100%;margin-top:1rem}}.footer .footer-module span:after{display:table;clear:both;content:''}.footer .footer-module label,.footer .footer-module strong,.footer .footer-module th{color:#fff}@media only all and (max-width:47.938em){.footer .footer-module{float:none;width:100%!important}}.footer .logo{color:#fff;border-bottom:0 none}.footer .logo:after{display:table;clear:both;content:''}.footer .logo h3 a{color:#fff}.footer .quickmenu{margin:0;padding:0;list-style:none}.footer .quickmenu i{font-size:.7rem;padding-right:.5rem;color:#fff}.footer .footer-modules{display:block;padding-bottom:1.5rem}.footer .footer-modules:after{display:table;clear:both;content:''}.footer .footer-copyright{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;display:inline-block;float:left;width:50%;text-align:left;text-transform:uppercase}@media only all and (max-width:47.938em){.footer .footer-copyright{float:none;width:100%;margin-bottom:1rem;text-align:left}}.footer .footer-menu{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;display:inline-block;float:right;width:50%;text-align:right;text-transform:uppercase}@media only all and (max-width:47.938em){.footer .footer-menu{float:none;width:100%;text-align:left}}.footer .footer-menu ul{margin:0;padding:0;list-style:none}.footer .footer-menu ul li{display:inline-block}.footer .footer-menu ul li:after{display:inline-block;margin:0 .5rem;content:'/'}.footer .footer-menu ul li:last-child:after{display:none}.footer .newsletter input{display:inline-block;height:2.5rem;border:0 none}.footer .newsletter input[type=text]{color:#fff;background-color:rgba(255,255,255,.2)}.footer .newsletter input[type=submit]{padding:0 1.2rem;vertical-align:top;color:#fff;background-color:rgba(255,255,255,.5)}body{font-family:'Helvetica Neue',HelveticaNeue-Light,'Helvetica Neue Light',Helvetica,Arial,'Lucida Grande',sans-serif;font-weight:400}.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list label,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact label,.modular .bottom table th,h1,h2,h3,h4,h5,h6{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;text-rendering:optimizeLegibility}h1{font-size:3.2rem}@media only all and (max-width:47.938em){h1{font-size:2.5rem;line-height:1.2;margin-bottom:2.5rem;text-shadow:1px 1px 3px #656161}}h2{font-size:1.4rem;font-weight:400;text-transform:uppercase}@media only all and (min-width:48em) and (max-width:59.938em){h2{font-size:-1rem}}@media only all and (max-width:47.938em){h2{font-size:-1.1rem}}@media only all and (min-width:48em) and (max-width:59.938em){h3{font-size:-.9rem}}@media only all and (max-width:47.938em){h3{font-size:-1rem}}.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list label,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact label,.modular .bottom table th,h4{font-size:1.2rem;font-weight:700;text-align:center;text-transform:uppercase;color:#656161}@media only all and (min-width:48em) and (max-width:59.938em){.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list label,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact label,.modular .bottom table th,h4{font-size:1.35rem}}@media only all and (max-width:47.938em){.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list label,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.callout .pricing-container .pricing-item .name,.contact .callout .pricing-container .pricing-item .foot button,.contact label,.modular .bottom table th,h4{font-size:1.25rem}}h1{font-weight:400;text-align:center}h3{letter-spacing:-1px}h1+h2{font-family:'Helvetica Neue',HelveticaNeue-Light,'Helvetica Neue Light',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:1.4rem;font-weight:300;line-height:1;margin:-2rem 0 2rem 0;text-align:center}@media only all and (min-width:48em) and (max-width:59.938em){h1+h2{font-size:1.3rem}}@media only all and (max-width:47.938em){h1+h2{font-size:1rem}}h2+h3{font-family:'Helvetica Neue',HelveticaNeue-Light,'Helvetica Neue Light',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:1.3rem;font-weight:400;line-height:1;margin:.5rem 0 2rem 0;text-align:center}@media only all and (min-width:48em) and (max-width:59.938em){h2+h3{font-size:1.2rem}}@media only all and (max-width:47.938em){h2+h3{font-size:1.1rem}}blockquote{border-left:10px solid #f0f2f4}blockquote p{font-size:1.1rem;color:#999}blockquote cite{font-size:1.2rem;display:block;text-align:right;color:#666}blockquote>blockquote>blockquote{margin:0}blockquote>blockquote>blockquote p{font-size:1rem;display:block;margin-top:0;margin-bottom:0;padding:15px}blockquote>blockquote>blockquote>p{margin-left:-71px;color:#df8a13;border-left:10px solid #f0ad4e;background:#fcf8f2}blockquote>blockquote>blockquote>blockquote>p{margin-left:-94px;color:#b52b27;border-left:10px solid #d9534f;background:#fdf7f7}blockquote>blockquote>blockquote>blockquote>blockquote>p{margin-left:-118px;color:#28a1c5;border-left:10px solid #5bc0de;background:#f4f8fa}blockquote>blockquote>blockquote>blockquote>blockquote>blockquote>p{margin-left:-142px;color:#3d8b3d;border-left:10px solid #5cb85c;background:#f1f9f1}code,kbd,pre,samp{font-family:Inconsolata,monospace}code{color:#9c1d3d;background:#f9f2f4}pre{padding:2rem;border:1px solid #cbcbcb;border-radius:3px;background:#f6f6f6}pre code{color:#237794;background:inherit}hr{border-bottom:1px solid #cbcbcb}.page-title{float:left;clear:both;margin-top:-25px;padding:25px;color:#fff;background:#87b672}.label{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:.7rem;line-height:1rem;display:inline-block;min-width:1rem;height:1rem;margin-right:.75rem;text-align:center;vertical-align:middle;color:#fff;border-radius:100%;background:#87b672}fieldset{border:1px solid #cbcbcb}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select[multiple=multiple],textarea{border:1px solid #cbcbcb;background-color:#fff;box-shadow:inset 0 1px 3px rgba(0,0,0,.06)}input[type=color]:hover,input[type=date]:hover,input[type=datetime-local]:hover,input[type=datetime]:hover,input[type=email]:hover,input[type=month]:hover,input[type=number]:hover,input[type=password]:hover,input[type=search]:hover,input[type=tel]:hover,input[type=text]:hover,input[type=time]:hover,input[type=url]:hover,input[type=week]:hover,select[multiple=multiple]:hover,textarea:hover{border-color:#b2b1b1}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select[multiple=multiple]:focus,textarea:focus{border-color:#87b672;box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 5px rgba(121,173,97,.7)}.form-field .required{font-size:2rem;line-height:2rem;display:inline-block;height:1.5rem;vertical-align:top;color:#f3443f}form .buttons{text-align:center}form input{font-weight:400}table{border:1px solid #d8d8d8}th{padding:.5rem;background:#e5e4e4}td{padding:.5rem;border:1px solid #d8d8d8}.archive-list button,.button,.contact button{color:#fff;border:1px solid #87b672;background:#87b672}.archive-list button:hover,.button:hover,.contact button:hover{color:#87b672;background:#fff}.archive-list button:active,.button:active,.contact button:active{box-shadow:0 1px 0 #679b50}.button-secondary{color:#fff;border:1px solid #f6635e;background:#f6635e}.button-secondary:hover{color:#f6635e;background:#fff}.button-secondary:active{box-shadow:0 1px 0 #f32b24}.bullets{overflow:auto;margin:1.7rem 0;margin-right:-.85rem;margin-left:-.85rem}.bullet{float:left;padding:0 .85rem}.two-column-bullet{width:50%}@media only all and (max-width:47.938em){.two-column-bullet{width:100%}}.three-column-bullet{width:33.3333333333%}@media only all and (max-width:47.938em){.three-column-bullet{width:100%}}.four-column-bullet{width:25%}@media only all and (max-width:47.938em){.four-column-bullet{width:100%}}.bullet-icon{font-size:1.75rem;float:left;width:3.5rem;height:3.5rem;padding:.875rem;text-align:center;color:#fff;border-radius:50%;background:#87b672}.bullet-icon-1{background:#87b672}.bullet-icon-2{background:#9eb672}.bullet-icon-3{background:#b67292}.bullet-content{margin-left:4.55rem}.sb-slidebar{background-color:#333!important}#panel{padding-top:1rem;color:#ddd}#panel .navigation{margin-left:0;padding:0;list-style:none}#panel .navigation li{border-bottom:1px solid #3d3d3d}#panel .navigation li a{font-weight:600;display:block;padding:.5rem 1rem;color:#ddd}#panel .navigation li a:hover{color:#fff;background-color:#262626}#panel .navigation li a:last-child{border-bottom:0}#panel .navigation li.active>a{color:grey;background:#fff}#panel .navigation li.active>a:hover{color:grey}#panel .navigation li:first-child{border-top:1px solid #3d3d3d}#panel .navigation li ul{padding:0;list-style:none}#panel .navigation li ul li{border:0!important}#panel .navigation li ul li a{font-size:.9rem;padding:.2rem 1rem .2rem 2rem;color:#c4c3c3}#panel .navigation li ul li li a{padding-left:3rem}#panel .navigation li ul li li a li a{padding-left:4rem}#panel .navigation li ul li.active>a{background:#ccc}.portfolio-modal .close-modal{font-size:3rem;position:absolute;top:0;right:0;width:5rem;height:5rem;cursor:pointer;background-color:transparent}@media only all and (max-width:47.938em){.portfolio-modal .close-modal{display:none}}.modal{position:fixed;z-index:1050;top:0;right:0;bottom:0;left:0;display:none;overflow:hidden;text-align:center;opacity:0;outline:0;background:#fff;-webkit-overflow-scrolling:touch}@media only all and (max-width:47.938em){.modal h1{margin-bottom:.5rem}.modal p,.modal ul{margin:1rem 0}.modal ul{margin-top:0}}.modal.in{opacity:1}.modal .client-details{list-style-type:none}.modal .client-details li{display:inline-block}.modal .client-details li label,.modal .client-details li strong,.modal .client-details li th{font-weight:400;color:#87b672}.modal .modal-content{width:35rem;min-height:100%;margin:0 auto;margin-top:10rem}@media only all and (min-width:48em) and (max-width:59.938em){.modal .modal-content{width:100%}}@media only all and (max-width:47.938em){.modal .modal-content{width:100%;margin-top:0}}.modal .modal-content img{max-height:15rem}.blog-header{margin-top:0!important;padding-top:1rem!important;padding-bottom:1rem}.blog-header.blog-header-image{background-size:cover!important}.blog-header.blog-header-image h1,.blog-header.blog-header-image h2{text-align:left;color:#fff}.blog-header h1{font-size:2.5rem;margin-top:0;margin-bottom:0;text-transform:uppercase}@media only all and (min-width:48em) and (max-width:59.938em){.blog-header h1{font-size:2rem}}@media only all and (max-width:47.938em){.blog-header h1{font-size:1.5rem;line-height:1.2}}.blog-header+.blog-content{padding-top:3rem}.list-item{margin-bottom:3rem;border-bottom:1px solid #dadada}.list-item:last-child{border-bottom:0}.list-item .list-blog-header{position:relative}.archive-list .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button,.archive-list .list-item .list-blog-header label,.callout .pricing-container .pricing-item .foot .archive-list .list-item .list-blog-header button,.callout .pricing-container .pricing-item .foot .contact .list-item .list-blog-header button,.callout .pricing-container .pricing-item .foot .list-item .list-blog-header .button,.callout .pricing-container .pricing-item .list-item .list-blog-header .name,.contact .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button,.contact .list-item .list-blog-header label,.list-item .list-blog-header .archive-list .callout .pricing-container .pricing-item .foot button,.list-item .list-blog-header .archive-list label,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .archive-list button,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .button,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .contact button,.list-item .list-blog-header .callout .pricing-container .pricing-item .name,.list-item .list-blog-header .contact .callout .pricing-container .pricing-item .foot button,.list-item .list-blog-header .contact label,.list-item .list-blog-header .modular .bottom table th,.list-item .list-blog-header h4,.modular .bottom table .list-item .list-blog-header th{margin-bottom:1.5rem;text-align:left}.archive-list .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a,.archive-list .list-item .list-blog-header label a,.callout .pricing-container .pricing-item .foot .archive-list .list-item .list-blog-header button a,.callout .pricing-container .pricing-item .foot .contact .list-item .list-blog-header button a,.callout .pricing-container .pricing-item .foot .list-item .list-blog-header .button a,.callout .pricing-container .pricing-item .list-item .list-blog-header .name a,.contact .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a,.contact .list-item .list-blog-header label a,.list-item .list-blog-header .archive-list .callout .pricing-container .pricing-item .foot button a,.list-item .list-blog-header .archive-list label a,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .archive-list button a,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .button a,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .contact button a,.list-item .list-blog-header .callout .pricing-container .pricing-item .name a,.list-item .list-blog-header .contact .callout .pricing-container .pricing-item .foot button a,.list-item .list-blog-header .contact label a,.list-item .list-blog-header .modular .bottom table th a,.list-item .list-blog-header h4 a,.modular .bottom table .list-item .list-blog-header th a{color:#656161}.archive-list .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a:hover,.archive-list .list-item .list-blog-header label a:hover,.callout .pricing-container .pricing-item .foot .archive-list .list-item .list-blog-header button a:hover,.callout .pricing-container .pricing-item .foot .contact .list-item .list-blog-header button a:hover,.callout .pricing-container .pricing-item .foot .list-item .list-blog-header .button a:hover,.callout .pricing-container .pricing-item .list-item .list-blog-header .name a:hover,.contact .callout .pricing-container .pricing-item .foot .list-item .list-blog-header button a:hover,.contact .list-item .list-blog-header label a:hover,.list-item .list-blog-header .archive-list .callout .pricing-container .pricing-item .foot button a:hover,.list-item .list-blog-header .archive-list label a:hover,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .archive-list button a:hover,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .button a:hover,.list-item .list-blog-header .callout .pricing-container .pricing-item .foot .contact button a:hover,.list-item .list-blog-header .callout .pricing-container .pricing-item .name a:hover,.list-item .list-blog-header .contact .callout .pricing-container .pricing-item .foot button a:hover,.list-item .list-blog-header .contact label a:hover,.list-item .list-blog-header .modular .bottom table th a:hover,.list-item .list-blog-header h4 a:hover,.modular .bottom table .list-item .list-blog-header th a:hover{color:#87b672}.list-item .list-blog-header img{display:block;margin-top:1rem;border-radius:0}.list-item .list-blog-author,.list-item .list-blog-date{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;margin-right:.5rem;margin-bottom:.2rem;padding:.7rem 1rem;text-align:center;text-transform:uppercase;color:grey;background-color:rgba(101,97,97,.1)}@media only all and (min-width:48em) and (max-width:59.938em){.list-item .list-blog-author,.list-item .list-blog-date{display:block;clear:both;width:100%}}@media only all and (max-width:47.938em){.list-item .list-blog-author,.list-item .list-blog-date{display:block;clear:both;width:100%}}.blog-content-item .list-blog-padding>p:nth-child(2){font-size:1.2rem}.tags{display:inline;margin:0;margin-bottom:.2rem;padding:0;padding:.7rem 1rem;list-style:none;text-align:center;background-color:rgba(101,97,97,.1)}.tags li{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;display:inline-block;text-transform:uppercase}.tags li a{color:grey}.tags li a:after{content:','}.tags li:last-child a:after{display:none}@media only all and (min-width:48em) and (max-width:59.938em){.tags{display:block;clear:both;width:100%}}@media only all and (max-width:47.938em){.tags{display:block;clear:both;width:100%}}.archives,.related-pages{margin:0;padding:0;list-style:none}.archives li,.related-pages li{line-height:2rem}.archives li:last-child,.related-pages li:last-child{border-bottom:0}.archives a,.related-pages a{color:grey}.archives a:hover,.related-pages a:hover{color:#87b672}.related-pages li a{display:block}.related-pages .score{font-size:85%;display:block;float:right;color:#999}.syndicate a{margin-bottom:1rem}div#breadcrumbs{padding-left:0}@media only all and (max-width:47.938em){div#breadcrumbs{display:none}}#sidebar{padding-left:3rem}@media only all and (max-width:47.938em){#sidebar{padding-left:0}}#sidebar .sidebar-content{margin-bottom:3rem}#sidebar .sidebar-content .archive-list .callout .pricing-container .pricing-item .foot button,#sidebar .sidebar-content .archive-list label,#sidebar .sidebar-content .callout .pricing-container .pricing-item .foot .archive-list button,#sidebar .sidebar-content .callout .pricing-container .pricing-item .foot .button,#sidebar .sidebar-content .callout .pricing-container .pricing-item .foot .contact button,#sidebar .sidebar-content .callout .pricing-container .pricing-item .name,#sidebar .sidebar-content .contact .callout .pricing-container .pricing-item .foot button,#sidebar .sidebar-content .contact label,#sidebar .sidebar-content .modular .bottom table th,#sidebar .sidebar-content h4,.archive-list #sidebar .sidebar-content label,.archive-list .callout .pricing-container .pricing-item .foot #sidebar .sidebar-content button,.callout .pricing-container .pricing-item #sidebar .sidebar-content .name,.callout .pricing-container .pricing-item .foot #sidebar .sidebar-content .button,.callout .pricing-container .pricing-item .foot .archive-list #sidebar .sidebar-content button,.callout .pricing-container .pricing-item .foot .contact #sidebar .sidebar-content button,.contact #sidebar .sidebar-content label,.contact .callout .pricing-container .pricing-item .foot #sidebar .sidebar-content button,.modular .bottom table #sidebar .sidebar-content th{margin-bottom:1rem;text-align:left}#sidebar .sidebar-content p,#sidebar .sidebar-content ul{margin-top:1rem}ul.pagination{margin:0 0 3rem;text-align:center}.prev-next{margin-top:5rem;text-align:center}.archive-list .callout .pricing-container .pricing-item .foot .button,.archive-list .callout .pricing-container .pricing-item .foot button,.archive-list .callout .pricing-container .pricing-item .name,.archive-list .modular .bottom table th,.archive-list h4,.archive-list label,.callout .pricing-container .pricing-item .archive-list .name,.callout .pricing-container .pricing-item .foot .archive-list .button,.callout .pricing-container .pricing-item .foot .archive-list button,.modular .bottom table .archive-list th{text-align:left}.archive-list input{line-height:2rem;width:50%}@media only all and (max-width:47.938em){.archive-list input{min-width:80%}}@media only all and (min-width:48em) and (max-width:59.938em){.archive-list input{min-width:70%}}.archive-list textarea{min-width:80%;min-height:25rem}@media only all and (max-width:47.938em){.archive-list textarea{min-width:100%}}@media only all and (min-width:48em) and (max-width:59.938em){.archive-list textarea{min-width:90%}}.archive-list input,.archive-list textarea{border:0 none;background:rgba(128,128,128,.2);box-shadow:none}.archive-list label{font-size:1rem}.archive-list button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;text-transform:uppercase}#error{display:-ms-flexbox;display:flex;height:100%;padding-bottom:12rem;text-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}#error h1{font-size:5rem}#error p{margin:1rem 0}.error #body{padding-top:16rem}.simplesearch h1{margin-bottom:0}.simplesearch .center{text-align:center}.simplesearch input{font-size:2rem;display:inline-block;max-width:30rem}.simplesearch .search-image{margin-top:1rem}.simplesearch .search-image img{border-radius:4px}@media only all and (max-width:47.938em){.simplesearch .search-image img{display:none}}@media only all and (max-width:47.938em){.simplesearch .search-item{margin-left:0}}.simplesearch .search-details{font-size:1rem;font-weight:700;float:right;margin-top:-2.5rem;color:#b3b3b3}@media only all and (max-width:47.938em){.simplesearch .search-details{float:none;margin-top:-.2rem;margin-bottom:1rem}}.simplesearch hr{border-bottom:1px solid #eee}.grav-lightslider .lSSlideOuter .lSPager.lSpg>li a{z-index:1}#body>script:first-child+.grav-lightslider{margin-top:-3rem}.modular.header-image #header{background-color:rgba(255,255,255,0);box-shadow:none}.modular.header-image #header #logo h3{color:#fff}.modular.header-image #header #navbar a{color:#fff}.modular .slideme_container{overflow:hidden;height:34.7rem;margin-top:-15rem;padding-top:15rem}.modular .slideme_container:after{display:table;clear:both;content:''}.modular .showcase{position:relative;z-index:1;padding-bottom:10rem;text-align:center;color:#fff;background-color:#666;background-position:center;background-size:cover}.modular .showcase h1{font-size:2.2rem;margin-top:0;padding-right:14rem;padding-left:14rem;text-transform:uppercase;text-shadow:1px 1px 3px #656161}@media only all and (min-width:48em) and (max-width:59.938em){.modular .showcase h1{font-size:1.5rem}}@media only all and (max-width:47.938em){.modular .showcase h1{font-size:1.3rem;line-height:1.2;margin-right:4rem;margin-left:4rem;padding-right:0;padding-left:0}}.modular .showcase h1 label,.modular .showcase h1 strong,.modular .showcase h1 th{color:#87b672}.modular .showcase h2{padding-right:14rem;padding-left:14rem;text-transform:none;text-shadow:1px 1px 3px #656161}@media only all and (max-width:47.938em){.modular .showcase h2{margin-right:4rem;margin-left:4rem;padding-right:0;padding-left:0}}.archive-list .modular .showcase button,.contact .modular .showcase button,.modular .showcase .archive-list button,.modular .showcase .button,.modular .showcase .contact button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;padding:.3rem 1rem;color:#fff;border:2px solid #fff;border-radius:0;background:rgba(255,255,255,0);box-shadow:none}.archive-list .modular .showcase button:hover,.contact .modular .showcase button:hover,.modular .showcase .archive-list button:hover,.modular .showcase .button:hover,.modular .showcase .contact button:hover{background:rgba(255,255,255,.2)}.modular .slideme_container .arrow{font-size:2.5rem;line-height:3.8rem;position:absolute;z-index:50;top:50%;display:block;padding-top:0;padding-right:.8rem;padding-bottom:0;padding-left:.8rem;cursor:pointer;text-align:center;opacity:.5;color:#000;border-radius:100%;background:#fff}@media only all and (max-width:47.938em){.modular .slideme_container .arrow{font-size:1.5rem;line-height:2.8rem}}.modular .slideme_container .arrow:hover{opacity:1}.modular .slideme_container .arrow.prev{left:4rem}@media only all and (max-width:47.938em){.modular .slideme_container .arrow.prev{left:1rem}}.modular .slideme_container .arrow.next{right:4rem}@media only all and (max-width:47.938em){.modular .slideme_container .arrow.next{right:1rem}}.modular .slideme_container .arrow:disabled{opacity:.1}@media only all and (max-width:47.938em){.modular .slideme_container .arrow{width:2.7rem;height:2.7rem}}.modular .slideme_container .arrow.next:before{font-family:FontAwesome;margin-left:.4rem;content:'\f054'}.modular .slideme_container .arrow.prev:before{font-family:FontAwesome;margin-right:.5rem;content:'\f053'}.modular .slideme_container .pagination{position:absolute;z-index:10;right:0;bottom:5%;left:0;text-align:center;vertical-align:middle}.modular .slideme_container .pagination .numbers li{display:inline-block;width:.5rem;height:.5rem;margin:0 .2rem;cursor:pointer;transition-duration:.2s;vertical-align:middle;border-radius:100%;background:#fff}.modular .slideme_container .pagination .numbers li.current{width:1rem;height:1rem}.modular .features{padding:4rem 0;padding-bottom:1rem;text-align:center}.modular .features:after{display:table;clear:both;content:''}.modular .features h2{line-height:100%;margin:0;color:#656161}.modular .features hr{margin-top:4rem}.modular .features p{margin:1rem 0}@media only all and (max-width:47.938em){.modular .features p{font-size:1rem}}.archive-list .modular .features button,.contact .modular .features button,.modular .features .archive-list button,.modular .features .button,.modular .features .contact button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;color:#fff;border-radius:0;background-color:#87b672;box-shadow:none}.modular .features .feature-items{margin-top:2rem}@supports not (flex-wrap:wrap){.modular .features .feature-items{overflow:hidden}}.modular .features .feature{display:block;float:left;width:25%;margin-top:2rem;margin-bottom:1rem;vertical-align:top}@media only all and (min-width:30.063em) and (max-width:47.938em){.modular .features .feature{width:50%;margin-top:1rem}}@media only all and (max-width:30em){.modular .features .feature{width:100%;margin-top:1rem}}.modular .features .feature i.fa{font-size:2rem}.archive-list .callout .pricing-container .pricing-item .foot .modular .features .feature button,.archive-list .modular .features .feature label,.callout .pricing-container .pricing-item .foot .archive-list .modular .features .feature button,.callout .pricing-container .pricing-item .foot .contact .modular .features .feature button,.callout .pricing-container .pricing-item .foot .modular .features .feature .button,.callout .pricing-container .pricing-item .modular .features .feature .name,.contact .callout .pricing-container .pricing-item .foot .modular .features .feature button,.contact .modular .features .feature label,.modular .bottom table .features .feature th,.modular .features .feature .archive-list .callout .pricing-container .pricing-item .foot button,.modular .features .feature .archive-list label,.modular .features .feature .bottom table th,.modular .features .feature .callout .pricing-container .pricing-item .foot .archive-list button,.modular .features .feature .callout .pricing-container .pricing-item .foot .button,.modular .features .feature .callout .pricing-container .pricing-item .foot .contact button,.modular .features .feature .callout .pricing-container .pricing-item .name,.modular .features .feature .contact .callout .pricing-container .pricing-item .foot button,.modular .features .feature .contact label,.modular .features .feature h4{font-size:1.1rem;margin:0}.modular .features .feature p{font-size:1rem;display:inline-block;margin:.2rem 0 1rem}.modular .features.big{text-align:center}.modular .features.big .feature{width:33.33%}@media only all and (max-width:30em){.modular .features.big .feature{width:100%;margin-top:1rem}}.modular .features.big i.fa{font-size:4.5rem;margin-bottom:1.5rem}.modular .features.big .feature-content{padding-right:2rem;text-align:justify}.modular .features.big .feature-content.icon-offset{margin-left:1rem}.archive-list .callout .pricing-container .pricing-item .foot .modular .features.big .feature-content button,.archive-list .modular .features.big .feature-content label,.callout .pricing-container .pricing-item .foot .archive-list .modular .features.big .feature-content button,.callout .pricing-container .pricing-item .foot .contact .modular .features.big .feature-content button,.callout .pricing-container .pricing-item .foot .modular .features.big .feature-content .button,.callout .pricing-container .pricing-item .modular .features.big .feature-content .name,.contact .callout .pricing-container .pricing-item .foot .modular .features.big .feature-content button,.contact .modular .features.big .feature-content label,.modular .bottom table .features.big .feature-content th,.modular .features.big .feature-content .archive-list .callout .pricing-container .pricing-item .foot button,.modular .features.big .feature-content .archive-list label,.modular .features.big .feature-content .bottom table th,.modular .features.big .feature-content .callout .pricing-container .pricing-item .foot .archive-list button,.modular .features.big .feature-content .callout .pricing-container .pricing-item .foot .button,.modular .features.big .feature-content .callout .pricing-container .pricing-item .foot .contact button,.modular .features.big .feature-content .callout .pricing-container .pricing-item .name,.modular .features.big .feature-content .contact .callout .pricing-container .pricing-item .foot button,.modular .features.big .feature-content .contact label,.modular .features.big .feature-content h4{font-size:1.2rem}.modular .features.big .feature-content p{padding:0}.modular .bottom{padding-bottom:4rem;text-align:center}.modular .bottom:after{display:table;clear:both;content:''}.modular .bottom h2{line-height:100%;margin:0;padding-top:3rem;color:#656161}.modular .bottom p{margin:1rem 0}@media only all and (max-width:47.938em){.modular .bottom p{font-size:1rem}}.archive-list .modular .bottom button,.contact .modular .bottom button,.modular .bottom .archive-list button,.modular .bottom .button,.modular .bottom .contact button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1rem;color:#fff;border:0 none;border-radius:0;background-color:#87b672;box-shadow:none}.archive-list .modular .bottom button:hover,.contact .modular .bottom button:hover,.modular .bottom .archive-list button:hover,.modular .bottom .button:hover,.modular .bottom .contact button:hover{background-color:#558042}.modular .bottom.borderbottom{padding-bottom:0}.modular .bottom.borderbottom hr{padding-top:3rem}.modular .bottom table{border:0 none}.modular .bottom table th{text-align:left;background:0 0}@media only all and (max-width:47.938em){.modular .bottom table th{display:none}}.modular .bottom table td{text-align:left;vertical-align:top;border:0 none}@media only all and (max-width:47.938em){.modular .bottom table td{display:block}}.modular .bottom .services{padding-top:2rem}.modular .bottom .services .service{display:block;float:left;width:50%;text-align:left}@media only all and (max-width:47.938em){.modular .bottom .services .service{width:100%}}.modular .bottom .services .service .fa{font-size:6rem;float:left;width:7rem;height:6rem;margin-top:.5rem}.modular .bottom .services .service p{margin-top:.5rem;margin-right:1rem;margin-left:7rem}.archive-list .callout .pricing-container .pricing-item .foot .modular .bottom .services .service button,.archive-list .modular .bottom .services .service label,.callout .pricing-container .pricing-item .foot .archive-list .modular .bottom .services .service button,.callout .pricing-container .pricing-item .foot .contact .modular .bottom .services .service button,.callout .pricing-container .pricing-item .foot .modular .bottom .services .service .button,.callout .pricing-container .pricing-item .modular .bottom .services .service .name,.contact .callout .pricing-container .pricing-item .foot .modular .bottom .services .service button,.contact .modular .bottom .services .service label,.modular .bottom .services .service .archive-list .callout .pricing-container .pricing-item .foot button,.modular .bottom .services .service .archive-list label,.modular .bottom .services .service .callout .pricing-container .pricing-item .foot .archive-list button,.modular .bottom .services .service .callout .pricing-container .pricing-item .foot .button,.modular .bottom .services .service .callout .pricing-container .pricing-item .foot .contact button,.modular .bottom .services .service .callout .pricing-container .pricing-item .name,.modular .bottom .services .service .contact .callout .pricing-container .pricing-item .foot button,.modular .bottom .services .service .contact label,.modular .bottom .services .service h4,.modular .bottom .services .service table th,.modular .bottom table .services .service th{margin-bottom:0;text-align:left}.about hr{margin:3rem 0}.callout .pricing-container .pricing-item .contact .name,.callout .pricing-container .pricing-item .foot .contact .button,.callout .pricing-container .pricing-item .foot .contact button,.contact .callout .pricing-container .pricing-item .foot .button,.contact .callout .pricing-container .pricing-item .foot button,.contact .callout .pricing-container .pricing-item .name,.contact .modular .bottom table th,.contact h4,.contact label,.modular .bottom table .contact th{text-align:left}.contact input{line-height:2rem;width:50%}@media only all and (max-width:47.938em){.contact input{min-width:80%}}@media only all and (min-width:48em) and (max-width:59.938em){.contact input{min-width:70%}}.contact textarea{min-width:80%;min-height:25rem}@media only all and (max-width:47.938em){.contact textarea{min-width:100%}}@media only all and (min-width:48em) and (max-width:59.938em){.contact textarea{min-width:90%}}.contact .dropzone{width:80%}@media only all and (max-width:47.938em){.contact .dropzone{min-width:100%}}@media only all and (min-width:48em) and (max-width:59.938em){.contact .dropzone{min-width:90%}}.contact input,.contact textarea{border:0 none;background:rgba(128,128,128,.2);box-shadow:none}.contact input:focus,.contact textarea:focus{border-radius:0!important;background:rgba(128,128,128,.11);box-shadow:none}.contact label{font-size:1rem}.contact button{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;display:block;text-transform:uppercase}.contact #simple_form-submit,.contact #simple_form-success{display:inline-block}.contact #simple_form-submit label,.contact #simple_form-submit strong,.contact #simple_form-submit th,.contact #simple_form-success label,.contact #simple_form-success strong,.contact #simple_form-success th{margin-left:1rem}.contact #simple_form-submit .close,.contact #simple_form-success .close{display:none}.callout{position:relative;clear:both;overflow:hidden;padding:2rem .938rem;padding-top:2rem;padding-bottom:0;text-align:center;background:#eee}@media only all and (max-width:59.938em){.callout{text-align:center}}.callout .callout-line{position:absolute;z-index:0;bottom:0;left:0;width:100%;height:7rem;background:#fff}.callout .pricing-container{position:relative;z-index:10;min-height:31rem;margin-top:2rem;text-align:center}.callout .pricing-container:after{display:table;clear:both;content:''}.callout .pricing-container .pricing-item{position:relative;display:inline-grid;width:80%;margin-right:3rem;margin-bottom:2rem;margin-left:0;-webkit-transform:translateZ(0)}@media only all and (max-width:47.938em){.callout .pricing-container .pricing-item{width:100%}}@media only all and (min-width:48em) and (max-width:59.938em){.callout .pricing-container .pricing-item{width:100%}}@media only all and (min-width:60em) and (max-width:74.938em){.callout .pricing-container .pricing-item{width:22.5%}}.callout .pricing-container .pricing-item:hover{transform:scale(1,1.03)}.callout .pricing-container .pricing-item div{background:#f7f7f7}.callout .pricing-container .pricing-item .name{padding:.5rem 0;color:#fff;background:#87b672}.callout .pricing-container .pricing-item .info{padding-top:1rem;padding-right:1rem;padding-bottom:1rem;padding-left:1rem;text-align:left;border-bottom:#eee 1px solid}.callout .pricing-container .pricing-item .price{font-family:novecento_sans_widedemibold,Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:2.5rem;font-weight:700;font-weight:400;line-height:5rem;color:#656161;border-bottom:#eee 1px solid}.callout .pricing-container .pricing-item .foot{padding:1rem 0;text-align:center;color:#fff;background:#87b672}.archive-list .callout .pricing-container .pricing-item .foot button,.callout .pricing-container .pricing-item .foot .archive-list button,.callout .pricing-container .pricing-item .foot .button,.callout .pricing-container .pricing-item .foot .contact button,.contact .callout .pricing-container .pricing-item .foot button{font-size:1rem;line-height:2.5rem;display:inline-block;width:9rem;margin:0;padding:0;color:#fff;background:rgba(255,255,255,.25)}.archive-list .callout .pricing-container .pricing-item .foot button:hover,.callout .pricing-container .pricing-item .foot .archive-list button:hover,.callout .pricing-container .pricing-item .foot .button:hover,.callout .pricing-container .pricing-item .foot .contact button:hover,.contact .callout .pricing-container .pricing-item .foot button:hover{background:rgba(255,255,255,.15)}.callout .pricing-container .pricing-item sup{font-size:2rem}.team{padding:4rem 0;text-align:center;background:#eee}.team:after{display:table;clear:both;content:''}.team h2{line-height:100%;margin:0;color:#656161}.team p{margin:1rem 0}.team .members{width:100%;padding-top:2rem;text-align:left}.team .members .member{display:inline-block;float:left;width:29%;margin:0 1rem;margin-bottom:2rem}@media only all and (max-width:47.938em){.team .members .member{display:block;width:100%;margin:0;margin-bottom:2rem;text-align:center}}@media only all and (min-width:48em) and (max-width:59.938em){.team .members .member{display:block;width:44%;margin-bottom:2rem}}.archive-list .callout .pricing-container .pricing-item .foot .team .members .member button,.archive-list .team .members .member label,.callout .pricing-container .pricing-item .foot .archive-list .team .members .member button,.callout .pricing-container .pricing-item .foot .contact .team .members .member button,.callout .pricing-container .pricing-item .foot .team .members .member .button,.callout .pricing-container .pricing-item .team .members .member .name,.contact .callout .pricing-container .pricing-item .foot .team .members .member button,.contact .team .members .member label,.modular .bottom table .team .members .member th,.team .members .member .archive-list .callout .pricing-container .pricing-item .foot button,.team .members .member .archive-list label,.team .members .member .callout .pricing-container .pricing-item .foot .archive-list button,.team .members .member .callout .pricing-container .pricing-item .foot .button,.team .members .member .callout .pricing-container .pricing-item .foot .contact button,.team .members .member .callout .pricing-container .pricing-item .name,.team .members .member .contact .callout .pricing-container .pricing-item .foot button,.team .members .member .contact label,.team .members .member .modular .bottom table th,.team .members .member h4{margin-bottom:0;text-align:left}@media only all and (max-width:47.938em){.archive-list .callout .pricing-container .pricing-item .foot .team .members .member button,.archive-list .team .members .member label,.callout .pricing-container .pricing-item .foot .archive-list .team .members .member button,.callout .pricing-container .pricing-item .foot .contact .team .members .member button,.callout .pricing-container .pricing-item .foot .team .members .member .button,.callout .pricing-container .pricing-item .team .members .member .name,.contact .callout .pricing-container .pricing-item .foot .team .members .member button,.contact .team .members .member label,.modular .bottom table .team .members .member th,.team .members .member .archive-list .callout .pricing-container .pricing-item .foot button,.team .members .member .archive-list label,.team .members .member .callout .pricing-container .pricing-item .foot .archive-list button,.team .members .member .callout .pricing-container .pricing-item .foot .button,.team .members .member .callout .pricing-container .pricing-item .foot .contact button,.team .members .member .callout .pricing-container .pricing-item .name,.team .members .member .contact .callout .pricing-container .pricing-item .foot button,.team .members .member .contact label,.team .members .member .modular .bottom table th,.team .members .member h4{text-align:center}}.team .members .member hr{margin:1rem 0}.team .members .social-icons{line-height:2rem;margin:0;list-style:none}@media only all and (max-width:47.938em){.team .members .social-icons{display:-ms-inline-flexbox;display:inline-flex;text-align:center}}.team .members .social-icons li{float:left;width:2.1rem;height:2.1rem;margin-right:.8rem;text-align:center;border-radius:100%;background:#fff}.team .members .social-icons li a{display:block;margin-top:.1rem;color:#000}.team .members .social-icons li:hover{background:rgba(255,255,255,.5)}.team .members .social-icons li:hover i{color:#87b672}.portfolio{padding:2rem .938rem;padding-top:2rem;padding-bottom:1rem;text-align:center}@media only all and (max-width:59.938em){.portfolio{text-align:center}}.portfolio h2{color:#656161}.portfolio .notebooks{margin-top:4rem}.portfolio .notebooks .notebook-row{margin-right:-14rem;margin-left:-14rem;padding-right:14rem;padding-bottom:2rem;padding-left:14rem;background:#eee;box-shadow:inset 0 -90px 0 -20px #f7f7f7}@media only all and (max-width:47.938em){.portfolio .notebooks .notebook-row{margin-right:-10rem;margin-left:-10rem}}.portfolio .notebooks .notebook-row .notebook{min-width:24%}@media only all and (min-width:48em) and (max-width:59.938em){.portfolio .notebooks .notebook-row .notebook{width:100%}}@media only all and (min-width:60em) and (max-width:74.938em){.portfolio .notebooks .notebook-row .notebook{float:none;min-width:24%}}@media only all and (max-width:30em){.portfolio .notebooks .notebook-row .notebook{width:170%;margin-left:-4.7rem}}.archive-list .callout .pricing-container .pricing-item .foot .portfolio .notebooks .notebook-row .notebook button,.archive-list .portfolio .notebooks .notebook-row .notebook label,.callout .pricing-container .pricing-item .foot .archive-list .portfolio .notebooks .notebook-row .notebook button,.callout .pricing-container .pricing-item .foot .contact .portfolio .notebooks .notebook-row .notebook button,.callout .pricing-container .pricing-item .foot .portfolio .notebooks .notebook-row .notebook .button,.callout .pricing-container .pricing-item .portfolio .notebooks .notebook-row .notebook .name,.contact .callout .pricing-container .pricing-item .foot .portfolio .notebooks .notebook-row .notebook button,.contact .portfolio .notebooks .notebook-row .notebook label,.modular .bottom table .portfolio .notebooks .notebook-row .notebook th,.portfolio .notebooks .notebook-row .notebook .archive-list .callout .pricing-container .pricing-item .foot button,.portfolio .notebooks .notebook-row .notebook .archive-list label,.portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .foot .archive-list button,.portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .foot .button,.portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .foot .contact button,.portfolio .notebooks .notebook-row .notebook .callout .pricing-container .pricing-item .name,.portfolio .notebooks .notebook-row .notebook .contact .callout .pricing-container .pricing-item .foot button,.portfolio .notebooks .notebook-row .notebook .contact label,.portfolio .notebooks .notebook-row .notebook .modular .bottom table th,.portfolio .notebooks .notebook-row .notebook h4{margin-bottom:0;text-align:left}.portfolio .notebooks .notebook-row .notebook p{margin-top:0}.portfolio .notebooks .notebook-row .notebook .desc{width:20rem;margin-left:2rem}@media only all and (min-width:60em) and (max-width:74.938em){.portfolio .notebooks .notebook-row .notebook .desc{width:100%}}@media only all and (max-width:47.938em){.portfolio .notebooks .notebook-row .notebook .desc{width:80%}}@media only all and (max-width:30em){.portfolio .notebooks .notebook-row .notebook .desc{width:80%}}@media only all and (min-width:48em) and (max-width:59.938em){.portfolio .notebooks .notebook-row .notebook .desc{width:100%}}.logo{border-bottom:1px solid #eaeaea}.logo h3{font-family:Pacifico,monospace;font-size:2.5rem;line-height:2rem;float:left;margin:0}.logo h3 a{color:grey}.archive-list .callout .pricing-container .pricing-item .foot .logo button,.archive-list .logo label,.callout .pricing-container .pricing-item .foot .archive-list .logo button,.callout .pricing-container .pricing-item .foot .contact .logo button,.callout .pricing-container .pricing-item .foot .logo .button,.callout .pricing-container .pricing-item .logo .name,.contact .callout .pricing-container .pricing-item .foot .logo button,.contact .logo label,.logo .archive-list .callout .pricing-container .pricing-item .foot button,.logo .archive-list label,.logo .callout .pricing-container .pricing-item .foot .archive-list button,.logo .callout .pricing-container .pricing-item .foot .button,.logo .callout .pricing-container .pricing-item .foot .contact button,.logo .callout .pricing-container .pricing-item .name,.logo .contact .callout .pricing-container .pricing-item .foot button,.logo .contact label,.logo .modular .bottom table th,.logo h4,.modular .bottom table .logo th{text-align:left}.logo ul{margin:0;padding:0;list-style:none}.logo ul.social-icons{line-height:2rem;float:right;margin:0}.logo ul.social-icons li{float:left;width:2.1rem;height:2.1rem;margin-right:.8rem;text-align:center;border-radius:100%;background:#fff}.logo ul.social-icons li a{display:block;margin-top:.1rem;color:#000}.logo ul.social-icons li:hover{background:rgba(255,255,255,.5)}.notebook{position:relative;z-index:10;display:inline-block;min-width:33%;text-align:left}@media only all and (min-width:60em) and (max-width:74.938em){.notebook{float:none;width:100%}}@media only all and (min-width:48em) and (max-width:59.938em){.notebook{float:none;width:100%}}@media only all and (max-width:47.938em){.notebook{float:none;width:100%}}@media only all and (max-width:30em){.notebook{float:none;width:150%;margin-left:-5.1rem}}.notebook .screen:before{position:absolute;width:.25rem;height:.25rem;margin:.3125rem 0 0 8.625rem;content:'';border-radius:50%;background:#e5ebed}.notebook .screen{width:18.28rem;height:11.72rem;margin:0 auto;border-radius:.5rem .5rem 0 0;background:#464c51}.notebook .screen .screen-content{position:absolute;z-index:1;width:16.73rem;height:10.1rem;margin-top:.8rem;margin-left:.8rem;background-repeat:no-repeat;background-size:cover}.notebook .screen .screen-content-hover{font-size:2rem;position:absolute;z-index:2;width:16.73rem;height:10.1rem;margin-top:.8rem;margin-left:.8rem;opacity:0;color:#464c51;background-color:#87b672}.notebook .screen .screen-content-hover .fa-arrow-up-right-from-square{margin-top:2.5rem;margin-left:4.7rem}.notebook .screen .screen-content-hover:hover{opacity:.8}.notebook .screen:after{position:absolute;width:16.63rem;height:10rem;margin:.875rem 0 0 .8125rem;content:'';transition:background 1s ease-in-out;border-radius:.125rem;background:#161b21}.notebook .keyboard{width:21.88rem;height:1.25rem;margin:0 auto;border-radius:0 0 .3125rem .3125rem;background:#dfdcdc}.notebook .keyboard:after{position:absolute;width:3.125rem;height:.375rem;margin:0 0 0 9.375rem;content:'';border-radius:0 0 .5rem .5rem;background:#757979}.keyboard:before{position:absolute;z-index:-1;width:23.13rem;height:.5rem;margin:.4375rem 0 0 -.625rem;content:'';border-radius:100%} \ No newline at end of file diff --git a/scss/template/modular/_contact.scss b/scss/template/modular/_contact.scss index a129292..94fd366 100644 --- a/scss/template/modular/_contact.scss +++ b/scss/template/modular/_contact.scss @@ -23,6 +23,15 @@ min-width: 90%; } } + .dropzone { + width: 80%; + @include breakpoint(mobile-only) { + min-width: 100%; + } + @include breakpoint(tablet-range) { + min-width: 90%; + } + } input, textarea { @extend .default-animation; border: 0 none; @@ -54,4 +63,4 @@ display: none; } } -} \ No newline at end of file +}