{"version":3,"sources":["wwwdev/scripts/node_modules/browser-pack/_prelude.js","wwwdev/scripts/wwwdev/scripts/main.js","wwwdev/scripts/wwwdev/scripts/modules/acceptCookie.js","wwwdev/scripts/wwwdev/scripts/modules/forms.js","wwwdev/scripts/wwwdev/scripts/modules/hDropdown.js","wwwdev/scripts/wwwdev/scripts/modules/language.js","wwwdev/scripts/wwwdev/scripts/modules/loadingspinner.js","wwwdev/scripts/wwwdev/scripts/modules/mobilemenu.js","wwwdev/scripts/wwwdev/scripts/modules/readCookie.js","wwwdev/scripts/wwwdev/scripts/views/checkout/checkout.js","wwwdev/scripts/wwwdev/scripts/views/product/resulttable.js"],"names":[],"mappings":"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","file":"main2.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i\" +\r\n \"\" +\r\n \"\";\r\n this.elem = null;\r\n }\r\n\r\n init() {\r\n // Display at first (if not cookie set)\r\n //read cookie\r\n let readAcceptCookie = this.readCookie.getCookie(this.acceptCookieName);\r\n \r\n if (readAcceptCookie === \"\") { \r\n this.show(\"visible\");\r\n }\r\n\r\n $(\"#cookieModal\").on('click', function(e) {\r\n var url = window.url_CookieInfo + \"?viewOnly=true\";\n addModalLarge(\"CookieInfoBox\", url);\r\n });\r\n }\r\n\r\n show(state) {\r\n state = state || \"visible\";\r\n // Create element\r\n if (this.state === \"notCreated\") {\r\n\r\n this.state = \"visible\";\r\n\r\n // Create element\r\n this.elem = $(this.template);\r\n\r\n // Set texts\r\n this.setTexts();\r\n\r\n // Position (and place in DOM)\r\n this.setPosition();\r\n\r\n this.elem.find(this.acceptCookieBtn).on('click', () => { \r\n let d = new Date();\r\n d.setTime(d.getTime() + (365*24*60*60*1000));\r\n let expires = \"expires=\"+ d.toUTCString();\r\n\r\n document.cookie = this.acceptCookieName +\"=\" + $.now() +\"; \"+ expires +\" ; path=/\";\r\n this.elem.addClass(\"is-accepted\");\r\n }); \r\n }\r\n }\r\n\r\n setPosition () {\r\n this.elem.addClass(\"is-visible\");\r\n // Place in DOM \r\n if (!this.isInDOM) {\r\n this.isInDOM = true;\r\n this.elem.appendTo(\"body\"); \r\n }\r\n }\r\n\r\n setTexts () {\r\n let html = this.elem.html(); \r\n html = html.replace(\"{text}\", window.translation_cookieText);\r\n html = html.replace(\"{link}\", window.translation_cookieLink);\r\n html = html.replace(\"{linkurl}\", window.translation_cookieLinkUrl);\r\n html = html.replace(\"{btn}\", window.translation_cookieBtn);\r\n this.elem.html(html);\r\n }\r\n}\r\n\r\nconst cc = new AcceptCookie();\n\n$(document).ready(function() {\n cc.init();\n window.initCookies = function(){\n cc.init();\n }\n});","$(function () {\r\n bindPlaceholderText();\r\n bindSelectPlaceholderText();\r\n bindClickOnLabel();\r\n\r\n $('[data-js=\"showMoreFilters\"]').unbind('click').bind('click', (e) => {\r\n // Setting width due to select2 being inflexible\r\n let $this = $(e.target);\r\n let fieldset = $this.closest('fieldset');\r\n fieldset.find('.hidden').show();\r\n fieldset.find('.select2-container').width(fieldset.width());\r\n $this.hide();\r\n $(fieldset).find('[data-js=\"showLessFilters\"]').show();\r\n });\r\n $('[data-js=\"showLessFilters\"]').unbind('click').bind('click', (e) => {\r\n // Setting width due to select2 being inflexible\r\n let $this = $(e.target);\r\n let fieldset = $this.closest('fieldset');\r\n fieldset.find('.hidden').hide();\r\n fieldset.find('.select2-container').width(fieldset.width());\r\n $this.hide();\r\n $(fieldset).find('[data-js=\"showMoreFilters\"]').show();\r\n });\r\n $('[data-js=\"mobileSearch\"]').unbind('click').bind('click', (e) => {\r\n let $this = $(e.target);\r\n $this.toggleClass('active');\r\n $('[data-js=\"mobileSearchAreaContainer\"], [data-js=\"mobileSearchProductsContainer\"]').slideToggle();\r\n });\r\n $('[data-js=\"mobileSearchArea\"]').unbind('click').bind('click', (e) => {\r\n let $this = $(e.target);\r\n let fieldset = $this.siblings('fieldset');\r\n $this.toggleClass('active');\r\n fieldset.slideToggle();\r\n fieldset.find('.select2-container').width('100%');\r\n });\r\n $('[data-js=\"mobileSearchProducts\"]').unbind('click').bind('click', (e) => {\r\n let $this = $(e.target);\r\n $this.toggleClass('active');\r\n $this.next('div').slideToggle();\r\n });\r\n\r\n $('#carType_checkAll').on('click', (e) => {\r\n\r\n let checkboxes = $('#carType_checkAll').closest('.search-area__fieldset').find('input[type=\"checkbox\"]:not(#carType_checkAll)');\r\n\r\n checkboxes.each(function () {\r\n $(this).prop('checked', !$(this).prop('checked'));\r\n\r\n });\r\n \r\n });\r\n\r\n $('#productGroup_checkAll').on('click', (e) => {\r\n\r\n let checkboxes = $('#productGroup_checkAll').closest('.search-area__fieldset').find('input[type=\"checkbox\"]:not(#productGroup_checkAll)');\r\n\r\n checkboxes.each(function () {\r\n $(this).prop('checked', $('#productGroup_checkAll').prop('checked'));\r\n\r\n });\r\n\r\n });\r\n\r\n window.bindClickOnLabel = bindClickOnLabel;\r\n window.bindPlaceholderText = bindPlaceholderText;\r\n window.movePlaceholderText = movePlaceholderText;\r\n});\r\n\r\nfunction bindPlaceholderText() {\r\n $('[data-js=\"movableLabel\"]').unbind('focusout').bind('focusout', (e) => {\r\n let $this = $(e.target);\r\n movePlaceholderText($this);\r\n });\r\n $('[data-js=\"movableLabel\"]').trigger('focusout');\r\n}\r\n\r\nfunction bindSelectPlaceholderText() {\r\n\r\n $('[data-js=\"movableLabelSelect\"]').on(\"select2:select\", function (e) {\r\n let $this = $(e.target);\r\n $this.siblings('label').removeClass('label--inactive').addClass('label--active');\r\n });\r\n}\r\n\r\nfunction movePlaceholderText($this) {\r\n if ($this.val().length > 0) {\r\n $this.siblings('label').addClass('label--active');\r\n } else {\r\n if ($this.data('js') !== 'movableLabelSelect') {\r\n $this.siblings('label').removeClass('label--active');\r\n } else {\r\n $this.siblings('label').addClass('label--inactive');\r\n }\r\n \r\n }\r\n}\r\n\r\nfunction bindClickOnLabel() {\r\n $('.search-area__label').unbind('click').bind('click', (e) => {\r\n let $this = $(e.target);\r\n\r\n if (!$this.hasClass('label--active')) {\r\n $this.removeClass('label--inactive').addClass('label--active');\r\n }\r\n\r\n $this.prevAll('input').first().focus();\r\n });\r\n\r\n}","export default class Dropdown {\r\n\r\n constructor() {\r\n\r\n //this.dropdowns = document.querySelectorAll('.hDropdown');\r\n this.doc = $(document);\r\n\r\n }\r\n\r\n init() {\r\n \r\n const scope = this;\r\n scope.dropdowns = $('.hDropdown').not('.select2-hidden-accessible').filter('SELECT');\r\n\r\n // Check if there are any dropdowns on the page\r\n if ($(scope.dropdowns)) {\r\n\r\n // Try to take options from the data-attributes of the select element\r\n $.each(scope.dropdowns, function() {\r\n\r\n let opt = {},\r\n options = {};\r\n\r\n // Check if we need to display the search field\r\n if (typeof $(this).data(\"search\") == 'undefined') {\r\n opt.minimumResultsForSearch = 'Infinity'; // Setting the minimumResultsForSearch option to \"Infinity\" will hide the search field\r\n }\r\n\r\n // Check if the select should implement a custom/responsive width\r\n if (typeof $(this).data(\"width\") != 'undefined') {\r\n if ($(this).data(\"width\") === \"fill\") {\r\n opt.width = \"100%\";\r\n } else {\r\n opt.width = $(this).data(\"width\");\r\n }\r\n }\r\n\r\n if (typeof $(this).attr(\"multiple\") != 'undefined') {\r\n opt.width = \"350px\";\r\n\r\n if ($(window).width() < 1600) {\r\n opt.width = \"180px\";\r\n }\r\n }\r\n\r\n // Check for a placeholder in data attributes\r\n if (typeof $(this).data('placeholder') != 'undefined') {\r\n opt.placeholder = $(this).data('placeholder');\r\n }\r\n\r\n // Set options if needed\r\n if (typeof opt.minimumResultsForSearch != 'undefined') {\r\n\r\n options.minimumResultsForSearch = opt.minimumResultsForSearch;\r\n\r\n }\r\n\r\n if (typeof opt.width != 'undefined') {\r\n\r\n options.width = opt.width;\r\n\r\n }\r\n\r\n if(typeof $(this).data(\"tags\") != 'undefined')\r\n {\r\n options.tags = $(this).data(\"tags\");\r\n }\r\n\r\n if(typeof $(this).data(\"sorttype\") != 'undefined')\r\n {\r\n switch($(this).data(\"sorttype\"))\r\n {\r\n case \"None\": break;\r\n case \"Ascending\": {\r\n options.sorter = function(data) {\r\n return data.sort(function(a, b) {\r\n return a.text < b.text ? -1 : a.text > b.text ? 1 : 0;\r\n });\r\n }\r\n break;\r\n }\r\n case \"Descending\": {\r\n options.sorter = function(data) {\r\n return data.sort(function(a, b) {\r\n return a.text > b.text ? -1 : a.text < b.text ? 1 : 0;\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n \r\n }\r\n \r\n //Initiate placeholder after sorting to prevent it from being included in the sorting above\r\n if (typeof opt.placeholder != 'undefined') {\r\n options.placeholder = opt.placeholder;\r\n }\r\n\r\n // Bind Select2 to the elements\r\n scope.bindings($(this), options);\r\n\r\n });\r\n\r\n }\r\n\r\n $('.btn--multiselect').unbind('click').bind('click', (e) => {\r\n let $this = $(e.target);\r\n let multiSelectIdentifier = $this.data('select');\r\n\r\n if ($this.data('btntype') === \"clear\") {\r\n $(\".\" + multiSelectIdentifier).val(null).trigger(\"change\");\r\n } else {\r\n $(\".\" + multiSelectIdentifier + \" option\").prop(\"selected\",\"selected\");\r\n $(\".\" + multiSelectIdentifier).trigger(\"change\");\r\n }\r\n });\r\n }\r\n\r\n bindings(elem,options) {\r\n elem.select2(options);\r\n }\r\n\r\n}\r\n\r\n\r\nconst dd = new Dropdown();\r\n\r\n\r\n$(document).ready(function() {\r\n\r\n dd.init();\r\n\r\n window.initDropdowns = function(){ \r\n dd.init();\r\n }\r\n\r\n});","$(function (){\r\n $('[data-js=\"language\"]').unbind('click').bind('click', (e) => {\r\n e.stopPropagation();\r\n let $this = $(e.target);\r\n // IE10 workaround\r\n if (!$this.hasClass('language')) {\r\n $this = $this.closest('.language');\r\n }\r\n $this.toggleClass('show');\r\n if ($this.hasClass('show')) {\r\n $('div:not([data-js=\"language\"])').bind('click', (e) => {\r\n $('[data-js=\"language\"]').trigger('click');\r\n });\r\n loadLanguageChooser();\r\n } else {\r\n $('div:not([data-js=\"language\"])').unbind('click');\r\n }\r\n });\r\n $('[data-js=\"languageMobile\"]').bind('click', (e) => {\r\n let $this = $(e.target);\r\n loadLanguageChooser(true);\r\n });\r\n});\r\nfunction loadLanguageChooser(mobile) {\r\n let url = window.url_GetLanguageChooser;\r\n $.ajax(url).done((data) => {\r\n if (mobile) {\r\n showLanguageChooserMobile(data);\r\n } else {\r\n showLanguageChooser(data);\r\n }\r\n });\r\n}\r\nfunction showLanguageChooser(data) {\r\n $('[data-js=\"languageSelectorContainer\"]').html(data);\r\n $('.languageselector__link').unbind('click').bind('click', (e) => {\r\n startLoading();\r\n });\r\n}\r\nfunction showLanguageChooserMobile(data) {\r\n $('[data-js=\"mobilemenuSidebar\"]').html(data).addClass('show');\r\n}","window.isLoading = false;\r\nwindow.blocktimerSpinner;\r\nwindow.stopLoading = function (container) {\r\n\tclearTimeout(window.blocktimerSpinner);\r\n if (!container) {\r\n $('.loadContainer').remove();\r\n } else {\r\n $(container).find('.loadContainer').remove();\r\n }\r\n\r\n window.isLoading = false;\r\n\r\n}\r\n\r\nwindow.startLoading = function (container, top) {\r\n\tif (!window.isLoading) {\r\n\t\twindow.isLoading = true;\r\n\t\tclearTimeout(window.blocktimerSpinner);\r\n\t\twindow.blocktimerSpinner = setTimeout(function () {\r\n\t\t\tlet fixed = false;\r\n\t\t\tif (typeof container === 'undefined') {\r\n\t\t\t\tcontainer = $('body');\r\n\t\t\t\tfixed = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tcontainer = $(container);\r\n\t\t\t}\r\n\r\n\t\t\tif (container.length === 0) return;\r\n\r\n\t\t\t// Place spinner inline with no container and inverted\r\n\t\t\tif (container.data('spinner-type') === 'inline') {\r\n\t\t\t\tcontainer.append('
');\r\n\t\t\t}\r\n\r\n\t\t\t// Place spinner near the top\r\n\t\t\telse if (top) {\r\n\t\t\t\tcontainer.append(`
`);\r\n\t\t\t}\r\n\r\n\t\t\t// Place spinner in middle of viewport\r\n\t\t\telse if (container.height() > $(window).height()) {\r\n\t\t\t\tcontainer.append(`
`);\r\n\t\t\t}\r\n\r\n\t\t\t// Place spinner in middle of container\r\n\t\t\telse {\r\n\t\t\t\tcontainer.append(`
`);\r\n\t\t\t}\r\n\r\n\t\t\t// Auto hide\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\tstopLoading(container);\r\n\t\t\t}, 180000);\r\n\t\t}, 1500);\r\n }\r\n}","$(function() {\r\n $('[data-js=\"mobilemenuButton\"]').unbind('click').bind('click', (e) => {\r\n let $this = $(e.target);\r\n if ($('[data-js=\"mobilemenuSidebar\"]').hasClass('show')) {\r\n $('[data-js=\"mobilemenuSidebar\"]').removeClass('show');\r\n } else {\r\n $this.toggleClass('mobilemenu__button--close');\r\n $('body').toggleClass('mobilemenu-active');\r\n }\r\n })\r\n});","export class readCookie {\r\n\r\n constructor() {}\r\n \r\n getCookie(cname) {\r\n\r\n let name = cname + \"=\";\r\n let ca = document.cookie.split(';');\r\n for(let i = 0; i {\r\n let $this = $(e.target);\r\n $this.toggleClass('active');\r\n $this.parent().siblings('[data-js=\"dropdown\"]').slideToggle();\r\n });\r\n}\r\nwindow.bindDropDownTriggers = bindDropDownTriggers;\r\n$(function () {\r\n window.bindDropDownTriggers();\r\n})","\r\nwindow.setupTableBlur = function (table) {\r\n $(table).find('.swipeAfter').css({\r\n 'visibility': 'visible',\r\n 'height': $(table).height() - 18\r\n });\r\n\r\n $(table).find('.swipeBefore').css({\r\n 'height': $(table).height() - 18\r\n });\r\n var wrapper = $(table).find('#resulttable__wrapper');\r\n wrapper.scroll(function (e) {\r\n setTableBlur(table, this);\r\n\r\n });\r\n setTableBlur(table, wrapper.get(0));\r\n \r\n}\r\n\r\nfunction setTableBlur(table, elm) {\r\n\r\n if (elm) {\r\n var scrollPercentage = 100 * elm.scrollLeft / (elm.scrollWidth - elm.clientWidth);\r\n\r\n if (elm.scrollLeft == 0 && elm.scrollWidth == elm.clientWidth) {\r\n $(table).find('.swipeAfter').css({\r\n 'visibility': 'hidden',\r\n 'opacity': '0'\r\n });\r\n\r\n } else {\r\n\r\n if (scrollPercentage > 90) {\r\n $(table).find('.swipeAfter').css({\r\n 'visibility': 'hidden',\r\n 'opacity': '0'\r\n });\r\n } else {\r\n $(table).find('.swipeAfter').css({\r\n 'visibility': 'visible',\r\n 'opacity': '1'\r\n });\r\n }\r\n\r\n if (scrollPercentage > 10) {\r\n $(table).find('.swipeBefore').css({\r\n 'visibility': 'visible',\r\n 'opacity': '1'\r\n });\r\n } else {\r\n $(table).find('.swipeBefore').css({\r\n 'visibility': 'hidden',\r\n 'opacity': '0'\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\n"],"preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJ3d3dkZXYvc2NyaXB0cy9tYWluLmpzIiwid3d3ZGV2L3NjcmlwdHMvbW9kdWxlcy9hY2NlcHRDb29raWUuanMiLCJ3d3dkZXYvc2NyaXB0cy9tb2R1bGVzL2Zvcm1zLmpzIiwid3d3ZGV2L3NjcmlwdHMvbW9kdWxlcy9oRHJvcGRvd24uanMiLCJ3d3dkZXYvc2NyaXB0cy9tb2R1bGVzL2xhbmd1YWdlLmpzIiwid3d3ZGV2L3NjcmlwdHMvbW9kdWxlcy9sb2FkaW5nc3Bpbm5lci5qcyIsInd3d2Rldi9zY3JpcHRzL21vZHVsZXMvbW9iaWxlbWVudS5qcyIsInd3d2Rldi9zY3JpcHRzL21vZHVsZXMvcmVhZENvb2tpZS5qcyIsInd3d2Rldi9zY3JpcHRzL3ZpZXdzL2NoZWNrb3V0L2NoZWNrb3V0LmpzIiwid3d3ZGV2L3NjcmlwdHMvdmlld3MvcHJvZHVjdC9yZXN1bHR0YWJsZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0FDQ0EsT0FBQTtBQUNBLE9BQUE7QUFDQSxPQUFBO0FBQ0EsT0FBQTtBQUNBLE9BQUE7QUFDQSxPQUFBO0FBRUEsT0FBQTtBQUNBLE9BQUE7Ozs7Ozs7OztBQ1RBLElBQUEsV0FBQSxHQUFBLE9BQUE7QUFBd0MsU0FBQSxRQUFBLENBQUEsc0NBQUEsT0FBQSx3QkFBQSxNQUFBLHVCQUFBLE1BQUEsQ0FBQSxRQUFBLGFBQUEsQ0FBQSxrQkFBQSxDQUFBLGdCQUFBLENBQUEsV0FBQSxDQUFBLHlCQUFBLE1BQUEsSUFBQSxDQUFBLENBQUEsV0FBQSxLQUFBLE1BQUEsSUFBQSxDQUFBLEtBQUEsTUFBQSxDQUFBLFNBQUEscUJBQUEsQ0FBQSxLQUFBLE9BQUEsQ0FBQSxDQUFBO0FBQUEsU0FBQSxnQkFBQSxDQUFBLEVBQUEsQ0FBQSxVQUFBLENBQUEsWUFBQSxDQUFBLGFBQUEsU0FBQTtBQUFBLFNBQUEsa0JBQUEsQ0FBQSxFQUFBLENBQUEsYUFBQSxD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QyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDO1VBQzlCLFlBQVksRUFBRSxTQUFTO1VBQ3ZCLFNBQVMsRUFBRTtRQUNmLENBQUMsQ0FBQztNQUNOLENBQUMsTUFBTTtRQUNILENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxDQUFDO1VBQzlCLFlBQVksRUFBRSxRQUFRO1VBQ3RCLFNBQVMsRUFBRTtRQUNmLENBQUMsQ0FBQztNQUNOO0lBQ0o7RUFDSjtBQUNKIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiXHJcbmltcG9ydCAnLi9tb2R1bGVzL21vYmlsZW1lbnUuanMnO1xyXG5pbXBvcnQgJy4vbW9kdWxlcy9oRHJvcGRvd24uanMnO1xyXG5pbXBvcnQgJy4vbW9kdWxlcy9hY2NlcHRDb29raWUuanMnO1xyXG5pbXBvcnQgJy4vbW9kdWxlcy9sYW5ndWFnZS5qcyc7XHJcbmltcG9ydCAnLi9tb2R1bGVzL2xvYWRpbmdzcGlubmVyLmpzJztcclxuaW1wb3J0ICcuL21vZHVsZXMvZm9ybXMuanMnO1xyXG5cclxuaW1wb3J0ICcuL3ZpZXdzL3Byb2R1Y3QvcmVzdWx0dGFibGUuanMnO1xyXG5pbXBvcnQgJy4vdmlld3MvY2hlY2tvdXQvY2hlY2tvdXQuanMnOyIsImltcG9ydCB7cmVhZENvb2tpZX0gZnJvbSAnLi9yZWFkQ29va2llJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBY2NlcHRDb29raWUge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMudmlld0FjY2VwdENvb2tpZSA9ICQoJyNqcy1hY2NlcHQtY29va2llJyk7XHJcbiAgICAgICAgdGhpcy5hY2NlcHRDb29raWVCdG4gPSAnI2pzLWFjY2VwdC1jb29raWUtYnRuJztcclxuXHJcbiAgICAgICAgdGhpcy5yZWFkQ29va2llID0gbmV3IHJlYWRDb29raWU7XHJcblxyXG4gICAgICAgIC8vY29va2llIG9wdGlvbnNcclxuICAgICAgICB0aGlzLmlzSW5ET00gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmFjY2VwdENvb2tpZU5hbWUgPSBcImFjY2VwdGNvb2tpZVwiOyAgICAgICAgXHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IFwibm90Q3JlYXRlZFwiO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGUgPSBcIlwiICtcclxuICAgICAgICAgICAgXCI8ZGl2IGNsYXNzPSdjb250YWluZXIgYy1hY2NlcHQtY29va2llJyBpZD0nanMtYWNjZXB0LWNvb2tpZSc+XCIgK1xyXG4gICAgICAgICAgICAgICAgXCI8ZGl2IGNsYXNzPSdjLWFjY2VwdC1jb29raWVfX2lubmVyJz5cIiArXHJcbiAgICAgICAgICAgICAgICAgICAgXCI8ZGl2IGNsYXNzPSdjLWFjY2VwdC1jb29raWVfX2NvbnRlbnQnPjxzcGFuIGNsYXNzPSdjLWFjY2VwdC1jb29raWVfX3RleHQnPnt0ZXh0fTwvc3Bhbj4gPGEgaHJlZj0nIycgaWQ9J2Nvb2tpZU1vZGFsJz57bGlua308L2E+PC9kaXY+XCIgK1xyXG4gICAgICAgICAgICAgICAgICAgIFwiPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSdjLWFjY2VwdC1jb29raWVfX2Nsb3NlJyBpZD0nanMtYWNjZXB0LWNvb2tpZS1idG4nIGFyaWEtbGFiZWw9J2Nsb3NlIGNvb2tpZSc+XCIgK1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIjxzdmcgd2lkdGg9JzE2JyBoZWlnaHQ9JzE2JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPlwiICtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiPGcgZmlsbD0nI0ZGRicgZmlsbC1ydWxlPSdldmVub2RkJz48cGF0aCBkPSdNMS44OTMxNjg3Ljc4NzEyMTIzTDE1LjM5MjQ4IDE0LjI4NjQzMjVsLTEuNDE0MjEzNTcgMS40MTQyMTM1OEwuNDc4OTU1MTMgMi4yMDEzMzQ3OHonLz5cIiArXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIjxwYXRoIGQ9J00xNS4zOTI0Nzk2NSAyLjIwMTMzNDMzTDEuODkzMTY4MzcgMTUuNzAwNjQ1Ni40Nzg5NTQ4IDE0LjI4NjQzMjA2IDEzLjk3ODI2NjEuNzg3MTIwNzV6Jy8+PC9nPlwiICtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCI8L3N2Zz5cIiArXHJcbiAgICAgICAgICAgICAgICAgICAgXCI8L2J1dHRvbj5cIiArIFxyXG4gICAgICAgICAgICAgICAgXCI8L2Rpdj5cIiArXHJcbiAgICAgICAgICAgIFwiPC9kaXY+XCI7XHJcbiAgICAgICAgdGhpcy5lbGVtID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIC8vIERpc3BsYXkgYXQgZmlyc3QgKGlmIG5vdCBjb29raWUgc2V0KVxyXG4gICAgICAgIC8vcmVhZCBjb29raWVcclxuICAgICAgICBsZXQgcmVhZEFjY2VwdENvb2tpZSA9IHRoaXMucmVhZENvb2tpZS5nZXRDb29raWUodGhpcy5hY2NlcHRDb29raWVOYW1lKTtcclxuICAgIFxyXG4gICAgICAgIGlmIChyZWFkQWNjZXB0Q29va2llID09PSBcIlwiKSB7ICBcclxuICAgICAgICAgICAgdGhpcy5zaG93KFwidmlzaWJsZVwiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICQoXCIjY29va2llTW9kYWxcIikub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkge1xyXG4gICAgICAgICAgICB2YXIgdXJsID0gd2luZG93LnVybF9Db29raWVJbmZvICsgXCI/dmlld09ubHk9dHJ1ZVwiO1xuICAgICAgICAgICAgYWRkTW9kYWxMYXJnZShcIkNvb2tpZUluZm9Cb3hcIiwgdXJsKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93KHN0YXRlKSB7XHJcbiAgICAgICAgc3RhdGUgPSBzdGF0ZSB8fCBcInZpc2libGVcIjtcclxuICAgICAgICAvLyBDcmVhdGUgZWxlbWVudFxyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlID09PSBcIm5vdENyZWF0ZWRcIikge1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IFwidmlzaWJsZVwiO1xyXG5cclxuICAgICAgICAgICAgLy8gQ3JlYXRlIGVsZW1lbnRcclxuICAgICAgICAgICAgdGhpcy5lbGVtID0gJCh0aGlzLnRlbXBsYXRlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIFNldCB0ZXh0c1xyXG4gICAgICAgICAgICB0aGlzLnNldFRleHRzKCk7XHJcblxyXG4gICAgICAgICAgICAvLyBQb3NpdGlvbiAoYW5kIHBsYWNlIGluIERPTSlcclxuICAgICAgICAgICAgdGhpcy5zZXRQb3NpdGlvbigpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5lbGVtLmZpbmQodGhpcy5hY2NlcHRDb29raWVCdG4pLm9uKCdjbGljaycsICgpID0+IHsgXHJcbiAgICAgICAgICAgICAgICBsZXQgZCA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgICAgICAgICBkLnNldFRpbWUoZC5nZXRUaW1lKCkgKyAoMzY1KjI0KjYwKjYwKjEwMDApKTtcclxuICAgICAgICAgICAgICAgIGxldCBleHBpcmVzID0gXCJleHBpcmVzPVwiKyBkLnRvVVRDU3RyaW5nKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuY29va2llID0gdGhpcy5hY2NlcHRDb29raWVOYW1lICtcIj1cIiArICQubm93KCkgK1wiOyBcIisgZXhwaXJlcyArXCIgOyBwYXRoPS9cIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbS5hZGRDbGFzcyhcImlzLWFjY2VwdGVkXCIpO1xyXG4gICAgICAgICAgICB9KTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldFBvc2l0aW9uICgpIHtcclxuICAgICAgICB0aGlzLmVsZW0uYWRkQ2xhc3MoXCJpcy12aXNpYmxlXCIpO1xyXG4gICAgICAgIC8vIFBsYWNlIGluIERPTSBcclxuICAgICAgICBpZiAoIXRoaXMuaXNJbkRPTSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzSW5ET00gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmVsZW0uYXBwZW5kVG8oXCJib2R5XCIpOyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzZXRUZXh0cyAoKSB7XHJcbiAgICAgICAgbGV0IGh0bWwgPSB0aGlzLmVsZW0uaHRtbCgpOyAgICAgXHJcbiAgICAgICAgaHRtbCA9IGh0bWwucmVwbGFjZShcInt0ZXh0fVwiLCB3aW5kb3cudHJhbnNsYXRpb25fY29va2llVGV4dCk7XHJcbiAgICAgICAgaHRtbCA9IGh0bWwucmVwbGFjZShcIntsaW5rfVwiLCB3aW5kb3cudHJhbnNsYXRpb25fY29va2llTGluayk7XHJcbiAgICAgICAgaHRtbCA9IGh0bWwucmVwbGFjZShcIntsaW5rdXJsfVwiLCB3aW5kb3cudHJhbnNsYXRpb25fY29va2llTGlua1VybCk7XHJcbiAgICAgICAgaHRtbCA9IGh0bWwucmVwbGFjZShcIntidG59XCIsIHdpbmRvdy50cmFuc2xhdGlvbl9jb29raWVCdG4pO1xyXG4gICAgICAgIHRoaXMuZWxlbS5odG1sKGh0bWwpO1xyXG4gICAgfVxyXG59XHJcblxyXG5jb25zdCBjYyA9IG5ldyBBY2NlcHRDb29raWUoKTtcblxuJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7XG4gICAgY2MuaW5pdCgpO1xuICAgIHdpbmRvdy5pbml0Q29va2llcyA9IGZ1bmN0aW9uKCl7XG4gICAgICAgIGNjLmluaXQoKTtcbiAgICB9XG59KTsiLCLvu78kKGZ1bmN0aW9uICgpIHtcclxuICAgIGJpbmRQbGFjZWhvbGRlclRleHQoKTtcclxuICAgIGJpbmRTZWxlY3RQbGFjZWhvbGRlclRleHQoKTtcclxuICAgIGJpbmRDbGlja09uTGFiZWwoKTtcclxuXHJcbiAgICAkKCdbZGF0YS1qcz1cInNob3dNb3JlRmlsdGVyc1wiXScpLnVuYmluZCgnY2xpY2snKS5iaW5kKCdjbGljaycsIChlKSA9PiB7XHJcbiAgICAgICAgLy8gU2V0dGluZyB3aWR0aCBkdWUgdG8gc2VsZWN0MiBiZWluZyBpbmZsZXhpYmxlXHJcbiAgICAgICAgbGV0ICR0aGlzID0gJChlLnRhcmdldCk7XHJcbiAgICAgICAgbGV0IGZpZWxkc2V0ID0gJHRoaXMuY2xvc2VzdCgnZmllbGRzZXQnKTtcclxuICAgICAgICBmaWVsZHNldC5maW5kKCcuaGlkZGVuJykuc2hvdygpO1xyXG4gICAgICAgIGZpZWxkc2V0LmZpbmQoJy5zZWxlY3QyLWNvbnRhaW5lcicpLndpZHRoKGZpZWxkc2V0LndpZHRoKCkpO1xyXG4gICAgICAgICR0aGlzLmhpZGUoKTtcclxuICAgICAgICAkKGZpZWxkc2V0KS5maW5kKCdbZGF0YS1qcz1cInNob3dMZXNzRmlsdGVyc1wiXScpLnNob3coKTtcclxuICAgIH0pO1xyXG4gICAgJCgnW2RhdGEtanM9XCJzaG93TGVzc0ZpbHRlcnNcIl0nKS51bmJpbmQoJ2NsaWNrJykuYmluZCgnY2xpY2snLCAoZSkgPT4ge1xyXG4gICAgICAgIC8vIFNldHRpbmcgd2lkdGggZHVlIHRvIHNlbGVjdDIgYmVpbmcgaW5mbGV4aWJsZVxyXG4gICAgICAgIGxldCAkdGhpcyA9ICQoZS50YXJnZXQpO1xyXG4gICAgICAgIGxldCBmaWVsZHNldCA9ICR0aGlzLmNsb3Nlc3QoJ2ZpZWxkc2V0Jyk7XHJcbiAgICAgICAgZmllbGRzZXQuZmluZCgnLmhpZGRlbicpLmhpZGUoKTtcclxuICAgICAgICBmaWVsZHNldC5maW5kKCcuc2VsZWN0Mi1jb250YWluZXInKS53aWR0aChmaWVsZHNldC53aWR0aCgpKTtcclxuICAgICAgICAkdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgJChmaWVsZHNldCkuZmluZCgnW2RhdGEtanM9XCJzaG93TW9yZUZpbHRlcnNcIl0nKS5zaG93KCk7XHJcbiAgICB9KTtcclxuICAgICQoJ1tkYXRhLWpzPVwibW9iaWxlU2VhcmNoXCJdJykudW5iaW5kKCdjbGljaycpLmJpbmQoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICBsZXQgJHRoaXMgPSAkKGUudGFyZ2V0KTtcclxuICAgICAgICAkdGhpcy50b2dnbGVDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAgICAgJCgnW2RhdGEtanM9XCJtb2JpbGVTZWFyY2hBcmVhQ29udGFpbmVyXCJdLCBbZGF0YS1qcz1cIm1vYmlsZVNlYXJjaFByb2R1Y3RzQ29udGFpbmVyXCJdJykuc2xpZGVUb2dnbGUoKTtcclxuICAgIH0pO1xyXG4gICAgJCgnW2RhdGEtanM9XCJtb2JpbGVTZWFyY2hBcmVhXCJdJykudW5iaW5kKCdjbGljaycpLmJpbmQoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICBsZXQgJHRoaXMgPSAkKGUudGFyZ2V0KTtcclxuICAgICAgICBsZXQgZmllbGRzZXQgPSAkdGhpcy5zaWJsaW5ncygnZmllbGRzZXQnKTtcclxuICAgICAgICAkdGhpcy50b2dnbGVDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAgICAgZmllbGRzZXQuc2xpZGVUb2dnbGUoKTtcclxuICAgICAgICBmaWVsZHNldC5maW5kKCcuc2VsZWN0Mi1jb250YWluZXInKS53aWR0aCgnMTAwJScpO1xyXG4gICAgfSk7XHJcbiAgICAkKCdbZGF0YS1qcz1cIm1vYmlsZVNlYXJjaFByb2R1Y3RzXCJdJykudW5iaW5kKCdjbGljaycpLmJpbmQoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICBsZXQgJHRoaXMgPSAkKGUudGFyZ2V0KTtcclxuICAgICAgICAkdGhpcy50b2dnbGVDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAgICAgJHRoaXMubmV4dCgnZGl2Jykuc2xpZGVUb2dnbGUoKTtcclxuICAgIH0pO1xyXG5cclxuICAgICQoJyNjYXJUeXBlX2NoZWNrQWxsJykub24oJ2NsaWNrJywgKGUpID0+IHtcclxuXHJcbiAgICAgICAgbGV0IGNoZWNrYm94ZXMgPSAkKCcjY2FyVHlwZV9jaGVja0FsbCcpLmNsb3Nlc3QoJy5zZWFyY2gtYXJlYV9fZmllbGRzZXQnKS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KCNjYXJUeXBlX2NoZWNrQWxsKScpO1xyXG5cclxuICAgICAgICBjaGVja2JveGVzLmVhY2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAkKHRoaXMpLnByb3AoJ2NoZWNrZWQnLCAhJCh0aGlzKS5wcm9wKCdjaGVja2VkJykpO1xyXG5cclxuICAgICAgICB9KTtcclxuICAgICAgICBcclxuICAgIH0pO1xyXG5cclxuICAgICQoJyNwcm9kdWN0R3JvdXBfY2hlY2tBbGwnKS5vbignY2xpY2snLCAoZSkgPT4ge1xyXG5cclxuICAgICAgICBsZXQgY2hlY2tib3hlcyA9ICQoJyNwcm9kdWN0R3JvdXBfY2hlY2tBbGwnKS5jbG9zZXN0KCcuc2VhcmNoLWFyZWFfX2ZpZWxkc2V0JykuZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCgjcHJvZHVjdEdyb3VwX2NoZWNrQWxsKScpO1xyXG5cclxuICAgICAgICBjaGVja2JveGVzLmVhY2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAkKHRoaXMpLnByb3AoJ2NoZWNrZWQnLCAkKCcjcHJvZHVjdEdyb3VwX2NoZWNrQWxsJykucHJvcCgnY2hlY2tlZCcpKTtcclxuXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgd2luZG93LmJpbmRDbGlja09uTGFiZWwgPSBiaW5kQ2xpY2tPbkxhYmVsO1xyXG4gICAgd2luZG93LmJpbmRQbGFjZWhvbGRlclRleHQgPSBiaW5kUGxhY2Vob2xkZXJUZXh0O1xyXG4gICAgd2luZG93Lm1vdmVQbGFjZWhvbGRlclRleHQgPSBtb3ZlUGxhY2Vob2xkZXJUZXh0O1xyXG59KTtcclxuXHJcbmZ1bmN0aW9uIGJpbmRQbGFjZWhvbGRlclRleHQoKSB7XHJcbiAgICAkKCdbZGF0YS1qcz1cIm1vdmFibGVMYWJlbFwiXScpLnVuYmluZCgnZm9jdXNvdXQnKS5iaW5kKCdmb2N1c291dCcsIChlKSA9PiB7XHJcbiAgICAgICAgbGV0ICR0aGlzID0gJChlLnRhcmdldCk7XHJcbiAgICAgICAgbW92ZVBsYWNlaG9sZGVyVGV4dCgkdGhpcyk7XHJcbiAgICB9KTtcclxuICAgICQoJ1tkYXRhLWpzPVwibW92YWJsZUxhYmVsXCJdJykudHJpZ2dlcignZm9jdXNvdXQnKTtcclxufVxyXG5cclxuZnVuY3Rpb24gYmluZFNlbGVjdFBsYWNlaG9sZGVyVGV4dCgpIHtcclxuXHJcbiAgICAkKCdbZGF0YS1qcz1cIm1vdmFibGVMYWJlbFNlbGVjdFwiXScpLm9uKFwic2VsZWN0MjpzZWxlY3RcIiwgZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICBsZXQgJHRoaXMgPSAkKGUudGFyZ2V0KTtcclxuICAgICAgICAkdGhpcy5zaWJsaW5ncygnbGFiZWwnKS5yZW1vdmVDbGFzcygnbGFiZWwtLWluYWN0aXZlJykuYWRkQ2xhc3MoJ2xhYmVsLS1hY3RpdmUnKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBtb3ZlUGxhY2Vob2xkZXJUZXh0KCR0aGlzKSB7XHJcbiAgICBpZiAoJHRoaXMudmFsKCkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICR0aGlzLnNpYmxpbmdzKCdsYWJlbCcpLmFkZENsYXNzKCdsYWJlbC0tYWN0aXZlJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICgkdGhpcy5kYXRhKCdqcycpICE9PSAnbW92YWJsZUxhYmVsU2VsZWN0Jykge1xyXG4gICAgICAgICAgICAkdGhpcy5zaWJsaW5ncygnbGFiZWwnKS5yZW1vdmVDbGFzcygnbGFiZWwtLWFjdGl2ZScpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICR0aGlzLnNpYmxpbmdzKCdsYWJlbCcpLmFkZENsYXNzKCdsYWJlbC0taW5hY3RpdmUnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGJpbmRDbGlja09uTGFiZWwoKSB7XHJcbiAgICAkKCcuc2VhcmNoLWFyZWFfX2xhYmVsJykudW5iaW5kKCdjbGljaycpLmJpbmQoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICBsZXQgJHRoaXMgPSAkKGUudGFyZ2V0KTtcclxuXHJcbiAgICAgICAgaWYgKCEkdGhpcy5oYXNDbGFzcygnbGFiZWwtLWFjdGl2ZScpKSB7XHJcbiAgICAgICAgICAgICR0aGlzLnJlbW92ZUNsYXNzKCdsYWJlbC0taW5hY3RpdmUnKS5hZGRDbGFzcygnbGFiZWwtLWFjdGl2ZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJHRoaXMucHJldkFsbCgnaW5wdXQnKS5maXJzdCgpLmZvY3VzKCk7XHJcbiAgICB9KTtcclxuXHJcbn0iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBEcm9wZG93biB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcblxyXG4gICAgICAgIC8vdGhpcy5kcm9wZG93bnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaERyb3Bkb3duJyk7XHJcbiAgICAgICAgdGhpcy5kb2MgPSAkKGRvY3VtZW50KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgaW5pdCgpIHtcclxuICAgICAgIFxyXG4gICAgICAgIGNvbnN0IHNjb3BlID0gdGhpcztcclxuICAgICAgICBzY29wZS5kcm9wZG93bnMgPSAkKCcuaERyb3Bkb3duJykubm90KCcuc2VsZWN0Mi1oaWRkZW4tYWNjZXNzaWJsZScpLmZpbHRlcignU0VMRUNUJyk7XHJcblxyXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZHJvcGRvd25zIG9uIHRoZSBwYWdlXHJcbiAgICAgICAgaWYgKCQoc2NvcGUuZHJvcGRvd25zKSkge1xyXG5cclxuICAgICAgICAgICAgLy8gVHJ5IHRvIHRha2Ugb3B0aW9ucyBmcm9tIHRoZSBkYXRhLWF0dHJpYnV0ZXMgb2YgdGhlIHNlbGVjdCBlbGVtZW50XHJcbiAgICAgICAgICAgICQuZWFjaChzY29wZS5kcm9wZG93bnMsIGZ1bmN0aW9uKCkge1xyXG5cclxuICAgICAgICAgICAgICAgIGxldCBvcHQgPSB7fSxcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zID0ge307XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byBkaXNwbGF5IHRoZSBzZWFyY2ggZmllbGRcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgJCh0aGlzKS5kYXRhKFwic2VhcmNoXCIpID09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3B0Lm1pbmltdW1SZXN1bHRzRm9yU2VhcmNoID0gJ0luZmluaXR5JzsgLy8gU2V0dGluZyB0aGUgbWluaW11bVJlc3VsdHNGb3JTZWFyY2ggb3B0aW9uIHRvIFwiSW5maW5pdHlcIiB3aWxsIGhpZGUgdGhlIHNlYXJjaCBmaWVsZFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBzZWxlY3Qgc2hvdWxkIGltcGxlbWVudCBhIGN1c3RvbS9yZXNwb25zaXZlIHdpZHRoXHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mICQodGhpcykuZGF0YShcIndpZHRoXCIpICE9ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuZGF0YShcIndpZHRoXCIpID09PSBcImZpbGxcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQud2lkdGggPSBcIjEwMCVcIjtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQud2lkdGggPSAkKHRoaXMpLmRhdGEoXCJ3aWR0aFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiAkKHRoaXMpLmF0dHIoXCJtdWx0aXBsZVwiKSAhPSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wdC53aWR0aCA9IFwiMzUwcHhcIjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQod2luZG93KS53aWR0aCgpIDwgMTYwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQud2lkdGggPSBcIjE4MHB4XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBhIHBsYWNlaG9sZGVyIGluIGRhdGEgYXR0cmlidXRlc1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiAkKHRoaXMpLmRhdGEoJ3BsYWNlaG9sZGVyJykgIT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBvcHQucGxhY2Vob2xkZXIgPSAkKHRoaXMpLmRhdGEoJ3BsYWNlaG9sZGVyJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gU2V0IG9wdGlvbnMgaWYgbmVlZGVkXHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9wdC5taW5pbXVtUmVzdWx0c0ZvclNlYXJjaCAhPSAndW5kZWZpbmVkJykge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLm1pbmltdW1SZXN1bHRzRm9yU2VhcmNoID0gb3B0Lm1pbmltdW1SZXN1bHRzRm9yU2VhcmNoO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9wdC53aWR0aCAhPSAndW5kZWZpbmVkJykge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLndpZHRoID0gb3B0LndpZHRoO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZih0eXBlb2YgJCh0aGlzKS5kYXRhKFwidGFnc1wiKSAhPSAndW5kZWZpbmVkJylcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnRhZ3MgPSAgJCh0aGlzKS5kYXRhKFwidGFnc1wiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZih0eXBlb2YgJCh0aGlzKS5kYXRhKFwic29ydHR5cGVcIikgIT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoKCQodGhpcykuZGF0YShcInNvcnR0eXBlXCIpKVxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIk5vbmVcIjogYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBc2NlbmRpbmdcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5zb3J0ZXIgPSBmdW5jdGlvbihkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuc29ydChmdW5jdGlvbihhLCBiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnRleHQgPCBiLnRleHQgPyAtMSA6IGEudGV4dCA+IGIudGV4dCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkRlc2NlbmRpbmdcIjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5zb3J0ZXIgPSBmdW5jdGlvbihkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuc29ydChmdW5jdGlvbihhLCBiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhLnRleHQgPiBiLnRleHQgPyAtMSA6IGEudGV4dCA8IGIudGV4dCA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLy9Jbml0aWF0ZSBwbGFjZWhvbGRlciBhZnRlciBzb3J0aW5nIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBpbmNsdWRlZCBpbiB0aGUgc29ydGluZyBhYm92ZVxyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHQucGxhY2Vob2xkZXIgIT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zLnBsYWNlaG9sZGVyID0gb3B0LnBsYWNlaG9sZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIEJpbmQgU2VsZWN0MiB0byB0aGUgZWxlbWVudHNcclxuICAgICAgICAgICAgICAgIHNjb3BlLmJpbmRpbmdzKCQodGhpcyksIG9wdGlvbnMpO1xyXG5cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJCgnLmJ0bi0tbXVsdGlzZWxlY3QnKS51bmJpbmQoJ2NsaWNrJykuYmluZCgnY2xpY2snLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgJHRoaXMgPSAkKGUudGFyZ2V0KTtcclxuICAgICAgICAgICAgbGV0IG11bHRpU2VsZWN0SWRlbnRpZmllciA9ICR0aGlzLmRhdGEoJ3NlbGVjdCcpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCR0aGlzLmRhdGEoJ2J0bnR5cGUnKSA9PT0gXCJjbGVhclwiKSB7XHJcbiAgICAgICAgICAgICAgICAkKFwiLlwiICsgbXVsdGlTZWxlY3RJZGVudGlmaWVyKS52YWwobnVsbCkudHJpZ2dlcihcImNoYW5nZVwiKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICQoXCIuXCIgKyBtdWx0aVNlbGVjdElkZW50aWZpZXIgKyBcIiBvcHRpb25cIikucHJvcChcInNlbGVjdGVkXCIsXCJzZWxlY3RlZFwiKTtcclxuICAgICAgICAgICAgICAgICQoXCIuXCIgKyBtdWx0aVNlbGVjdElkZW50aWZpZXIpLnRyaWdnZXIoXCJjaGFuZ2VcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBiaW5kaW5ncyhlbGVtLG9wdGlvbnMpIHtcclxuICAgICAgICBlbGVtLnNlbGVjdDIob3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuY29uc3QgZGQgPSBuZXcgRHJvcGRvd24oKTtcclxuXHJcblxyXG4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHtcclxuXHJcbiAgICBkZC5pbml0KCk7XHJcblxyXG4gICAgd2luZG93LmluaXREcm9wZG93bnMgPSBmdW5jdGlvbigpeyAgICAgXHJcbiAgICAgICAgZGQuaW5pdCgpO1xyXG4gICAgfVxyXG5cclxufSk7Iiwi77u/JChmdW5jdGlvbiAoKXtcclxuICAgICQoJ1tkYXRhLWpzPVwibGFuZ3VhZ2VcIl0nKS51bmJpbmQoJ2NsaWNrJykuYmluZCgnY2xpY2snLCAoZSkgPT4ge1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgbGV0ICR0aGlzID0gJChlLnRhcmdldCk7XHJcbiAgICAgICAgLy8gSUUxMCB3b3JrYXJvdW5kXHJcbiAgICAgICAgaWYgKCEkdGhpcy5oYXNDbGFzcygnbGFuZ3VhZ2UnKSkge1xyXG4gICAgICAgICAgICAkdGhpcyA9ICR0aGlzLmNsb3Nlc3QoJy5sYW5ndWFnZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkdGhpcy50b2dnbGVDbGFzcygnc2hvdycpO1xyXG4gICAgICAgIGlmICgkdGhpcy5oYXNDbGFzcygnc2hvdycpKSB7XHJcbiAgICAgICAgICAgICQoJ2Rpdjpub3QoW2RhdGEtanM9XCJsYW5ndWFnZVwiXSknKS5iaW5kKCdjbGljaycsIChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAkKCdbZGF0YS1qcz1cImxhbmd1YWdlXCJdJykudHJpZ2dlcignY2xpY2snKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGxvYWRMYW5ndWFnZUNob29zZXIoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAkKCdkaXY6bm90KFtkYXRhLWpzPVwibGFuZ3VhZ2VcIl0pJykudW5iaW5kKCdjbGljaycpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgJCgnW2RhdGEtanM9XCJsYW5ndWFnZU1vYmlsZVwiXScpLmJpbmQoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICBsZXQgJHRoaXMgPSAkKGUudGFyZ2V0KTtcclxuICAgICAgICBsb2FkTGFuZ3VhZ2VDaG9vc2VyKHRydWUpO1xyXG4gICAgfSk7XHJcbn0pO1xyXG5mdW5jdGlvbiBsb2FkTGFuZ3VhZ2VDaG9vc2VyKG1vYmlsZSkge1xyXG4gICAgbGV0IHVybCA9IHdpbmRvdy51cmxfR2V0TGFuZ3VhZ2VDaG9vc2VyO1xyXG4gICAgJC5hamF4KHVybCkuZG9uZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChtb2JpbGUpIHtcclxuICAgICAgICAgICAgc2hvd0xhbmd1YWdlQ2hvb3Nlck1vYmlsZShkYXRhKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzaG93TGFuZ3VhZ2VDaG9vc2VyKGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG59XHJcbmZ1bmN0aW9uIHNob3dMYW5ndWFnZUNob29zZXIoZGF0YSkge1xyXG4gICAgJCgnW2RhdGEtanM9XCJsYW5ndWFnZVNlbGVjdG9yQ29udGFpbmVyXCJdJykuaHRtbChkYXRhKTtcclxuICAgICQoJy5sYW5ndWFnZXNlbGVjdG9yX19saW5rJykudW5iaW5kKCdjbGljaycpLmJpbmQoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICBzdGFydExvYWRpbmcoKTtcclxuICAgIH0pO1xyXG59XHJcbmZ1bmN0aW9uIHNob3dMYW5ndWFnZUNob29zZXJNb2JpbGUoZGF0YSkge1xyXG4gICAgJCgnW2RhdGEtanM9XCJtb2JpbGVtZW51U2lkZWJhclwiXScpLmh0bWwoZGF0YSkuYWRkQ2xhc3MoJ3Nob3cnKTtcclxufSIsIu+7v3dpbmRvdy5pc0xvYWRpbmcgPSBmYWxzZTtcclxud2luZG93LmJsb2NrdGltZXJTcGlubmVyO1xyXG53aW5kb3cuc3RvcExvYWRpbmcgPSBmdW5jdGlvbiAoY29udGFpbmVyKSB7XHJcblx0Y2xlYXJUaW1lb3V0KHdpbmRvdy5ibG9ja3RpbWVyU3Bpbm5lcik7XHJcbiAgICBpZiAoIWNvbnRhaW5lcikge1xyXG4gICAgICAgICQoJy5sb2FkQ29udGFpbmVyJykucmVtb3ZlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgICQoY29udGFpbmVyKS5maW5kKCcubG9hZENvbnRhaW5lcicpLnJlbW92ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHdpbmRvdy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuXHJcbn1cclxuXHJcbndpbmRvdy5zdGFydExvYWRpbmcgPSBmdW5jdGlvbiAoY29udGFpbmVyLCB0b3ApIHtcclxuXHRpZiAoIXdpbmRvdy5pc0xvYWRpbmcpIHtcclxuXHRcdHdpbmRvdy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cdFx0Y2xlYXJUaW1lb3V0KHdpbmRvdy5ibG9ja3RpbWVyU3Bpbm5lcik7XHJcblx0XHR3aW5kb3cuYmxvY2t0aW1lclNwaW5uZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0bGV0IGZpeGVkID0gZmFsc2U7XHJcblx0XHRcdGlmICh0eXBlb2YgY29udGFpbmVyID09PSAndW5kZWZpbmVkJykge1xyXG5cdFx0XHRcdGNvbnRhaW5lciA9ICQoJ2JvZHknKTtcclxuXHRcdFx0XHRmaXhlZCA9IHRydWU7XHJcblx0XHRcdH1cclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0Y29udGFpbmVyID0gJChjb250YWluZXIpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAoY29udGFpbmVyLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG5cclxuXHRcdFx0Ly8gUGxhY2Ugc3Bpbm5lciBpbmxpbmUgd2l0aCBubyBjb250YWluZXIgYW5kIGludmVydGVkXHJcblx0XHRcdGlmIChjb250YWluZXIuZGF0YSgnc3Bpbm5lci10eXBlJykgPT09ICdpbmxpbmUnKSB7XHJcblx0XHRcdFx0Y29udGFpbmVyLmFwcGVuZCgnPGRpdiBjbGFzcz1cInNwaW5uZXIgc3Bpbm5lci0taW52ZXJ0ZWRcIj48L2Rpdj4nKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gUGxhY2Ugc3Bpbm5lciBuZWFyIHRoZSB0b3BcclxuXHRcdFx0ZWxzZSBpZiAodG9wKSB7XHJcblx0XHRcdFx0Y29udGFpbmVyLmFwcGVuZChgPGRpdiBjbGFzcz1cImxvYWRDb250YWluZXIgbG9hZENvbnRhaW5lciR7Zml4ZWQgPT0gdHJ1ZSA/ICctLWZpeGVkJyA6ICcnfSBsb2FkQ29udGFpbmVyLS10b3BcIj48ZGl2IGNsYXNzPVwic3Bpbm5lclwiPjwvZGl2PjwvZGl2PmApO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQvLyBQbGFjZSBzcGlubmVyIGluIG1pZGRsZSBvZiB2aWV3cG9ydFxyXG5cdFx0XHRlbHNlIGlmIChjb250YWluZXIuaGVpZ2h0KCkgPiAkKHdpbmRvdykuaGVpZ2h0KCkpIHtcclxuXHRcdFx0XHRjb250YWluZXIuYXBwZW5kKGA8ZGl2IGNsYXNzPVwibG9hZENvbnRhaW5lciBsb2FkQ29udGFpbmVyJHtmaXhlZCA9PSB0cnVlID8gJy0tZml4ZWQnIDogJyd9IGxvYWRDb250YWluZXItLXRvcFwiPjxkaXYgY2xhc3M9XCJzcGlubmVyIHNwaW5uZXItLWZpeGVkXCI+PC9kaXY+PC9kaXY+YCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8vIFBsYWNlIHNwaW5uZXIgaW4gbWlkZGxlIG9mIGNvbnRhaW5lclxyXG5cdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRjb250YWluZXIuYXBwZW5kKGA8ZGl2IGNsYXNzPVwibG9hZENvbnRhaW5lciBsb2FkQ29udGFpbmVyJHtmaXhlZCA9PSB0cnVlID8gJy0tZml4ZWQnIDogJyd9XCI+PGRpdiBjbGFzcz1cInNwaW5uZXJcIj48L2Rpdj48L2Rpdj5gKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gQXV0byBoaWRlXHJcblx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG5cdFx0XHRcdHN0b3BMb2FkaW5nKGNvbnRhaW5lcik7XHJcblx0XHRcdH0sIDE4MDAwMCk7XHJcblx0XHR9LCAxNTAwKTtcclxuICAgIH1cclxufSIsIu+7vyQoZnVuY3Rpb24oKSB7XHJcbiAgICAkKCdbZGF0YS1qcz1cIm1vYmlsZW1lbnVCdXR0b25cIl0nKS51bmJpbmQoJ2NsaWNrJykuYmluZCgnY2xpY2snLCAoZSkgPT4ge1xyXG4gICAgICAgIGxldCAkdGhpcyA9ICQoZS50YXJnZXQpO1xyXG4gICAgICAgIGlmICgkKCdbZGF0YS1qcz1cIm1vYmlsZW1lbnVTaWRlYmFyXCJdJykuaGFzQ2xhc3MoJ3Nob3cnKSkge1xyXG4gICAgICAgICAgICAkKCdbZGF0YS1qcz1cIm1vYmlsZW1lbnVTaWRlYmFyXCJdJykucmVtb3ZlQ2xhc3MoJ3Nob3cnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAkdGhpcy50b2dnbGVDbGFzcygnbW9iaWxlbWVudV9fYnV0dG9uLS1jbG9zZScpO1xyXG4gICAgICAgICAgICAkKCdib2R5JykudG9nZ2xlQ2xhc3MoJ21vYmlsZW1lbnUtYWN0aXZlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfSlcclxufSk7IiwiZXhwb3J0IGNsYXNzIHJlYWRDb29raWUge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuICAgXHJcbiAgICBnZXRDb29raWUoY25hbWUpIHtcclxuXHJcbiAgICAgICAgbGV0IG5hbWUgPSBjbmFtZSArIFwiPVwiO1xyXG4gICAgICAgIGxldCBjYSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xyXG4gICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPGNhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBjID0gY2FbaV07XHJcbiAgICAgICAgICAgIHdoaWxlIChjLmNoYXJBdCgwKT09JyAnKSB7XHJcbiAgICAgICAgICAgICAgICBjID0gYy5zdWJzdHJpbmcoMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGMuaW5kZXhPZihuYW1lKSA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYy5zdWJzdHJpbmcobmFtZS5sZW5ndGgsYy5sZW5ndGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgXHJcbn1cclxuIiwi77u/ZnVuY3Rpb24gYmluZERyb3BEb3duVHJpZ2dlcnMoKSB7XHJcbiAgICBsZXQgZHJvcERvd25UcmlnZ2VycyA9ICQoJ1tkYXRhLWpzPVwidG9nZ2xlRHJvcGRvd25cIl0nKTtcclxuICAgIGRyb3BEb3duVHJpZ2dlcnMudW5iaW5kKCdjbGljaycpLmJpbmQoJ2NsaWNrJywgKGUpID0+IHtcclxuICAgICAgICBsZXQgJHRoaXMgPSAkKGUudGFyZ2V0KTtcclxuICAgICAgICAkdGhpcy50b2dnbGVDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAgICAgJHRoaXMucGFyZW50KCkuc2libGluZ3MoJ1tkYXRhLWpzPVwiZHJvcGRvd25cIl0nKS5zbGlkZVRvZ2dsZSgpO1xyXG4gICAgfSk7XHJcbn1cclxud2luZG93LmJpbmREcm9wRG93blRyaWdnZXJzID0gYmluZERyb3BEb3duVHJpZ2dlcnM7XHJcbiQoZnVuY3Rpb24gKCkge1xyXG4gICAgd2luZG93LmJpbmREcm9wRG93blRyaWdnZXJzKCk7XHJcbn0pIiwi77u/XHJcbndpbmRvdy5zZXR1cFRhYmxlQmx1ciA9IGZ1bmN0aW9uICh0YWJsZSkge1xyXG4gICAgJCh0YWJsZSkuZmluZCgnLnN3aXBlQWZ0ZXInKS5jc3Moe1xyXG4gICAgICAgICd2aXNpYmlsaXR5JzogJ3Zpc2libGUnLFxyXG4gICAgICAgICdoZWlnaHQnOiAkKHRhYmxlKS5oZWlnaHQoKSAtIDE4XHJcbiAgICB9KTtcclxuXHJcbiAgICAkKHRhYmxlKS5maW5kKCcuc3dpcGVCZWZvcmUnKS5jc3Moe1xyXG4gICAgICAgICdoZWlnaHQnOiAkKHRhYmxlKS5oZWlnaHQoKSAtIDE4XHJcbiAgICB9KTtcclxuICAgIHZhciB3cmFwcGVyID0gJCh0YWJsZSkuZmluZCgnI3Jlc3VsdHRhYmxlX193cmFwcGVyJyk7XHJcbiAgICB3cmFwcGVyLnNjcm9sbChmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgIHNldFRhYmxlQmx1cih0YWJsZSwgdGhpcyk7XHJcblxyXG4gICAgfSk7XHJcbiAgICBzZXRUYWJsZUJsdXIodGFibGUsIHdyYXBwZXIuZ2V0KDApKTtcclxuICAgIFxyXG59XHJcblxyXG5mdW5jdGlvbiBzZXRUYWJsZUJsdXIodGFibGUsIGVsbSkge1xyXG5cclxuICAgIGlmIChlbG0pIHtcclxuICAgICAgICB2YXIgc2Nyb2xsUGVyY2VudGFnZSA9IDEwMCAqIGVsbS5zY3JvbGxMZWZ0IC8gKGVsbS5zY3JvbGxXaWR0aCAtIGVsbS5jbGllbnRXaWR0aCk7XHJcblxyXG4gICAgICAgIGlmIChlbG0uc2Nyb2xsTGVmdCA9PSAwICYmIGVsbS5zY3JvbGxXaWR0aCA9PSBlbG0uY2xpZW50V2lkdGgpIHtcclxuICAgICAgICAgICAgJCh0YWJsZSkuZmluZCgnLnN3aXBlQWZ0ZXInKS5jc3Moe1xyXG4gICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiAnaGlkZGVuJyxcclxuICAgICAgICAgICAgICAgICdvcGFjaXR5JzogJzAnXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgaWYgKHNjcm9sbFBlcmNlbnRhZ2UgPiA5MCkge1xyXG4gICAgICAgICAgICAgICAgJCh0YWJsZSkuZmluZCgnLnN3aXBlQWZ0ZXInKS5jc3Moe1xyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogJ2hpZGRlbicsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiAnMCdcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJCh0YWJsZSkuZmluZCgnLnN3aXBlQWZ0ZXInKS5jc3Moe1xyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogJ3Zpc2libGUnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogJzEnXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHNjcm9sbFBlcmNlbnRhZ2UgPiAxMCkge1xyXG4gICAgICAgICAgICAgICAgJCh0YWJsZSkuZmluZCgnLnN3aXBlQmVmb3JlJykuY3NzKHtcclxuICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6ICd2aXNpYmxlJyxcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6ICcxJ1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAkKHRhYmxlKS5maW5kKCcuc3dpcGVCZWZvcmUnKS5jc3Moe1xyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogJ2hpZGRlbicsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiAnMCdcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuIl19"}