{"version":3,"sources":["Assets/js/institutional/main.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length","1","module","_interopRequireWildcard","obj","__esModule","newObj","key","Object","prototype","hasOwnProperty","default","_slider","slider","_sidebar","sidebar","_tabs","tabs","_cookies","cookies","_navbar","navbar","_search","search","_footer","footer","_settings","settings","_glossary","glossary","_mail","mail","_contentCarousel","contentCarousel","_googlemap","googleMap","_tabsstore","tabsStore","_upload","upload","_select","selectElement","_modal","modal","_tradelist","tradeList","_datetimepicker","datetimepicker","_buttontop","buttonTop","_overlay","overlay","_captcha","captcha","$","changePlaceholder","window","width","each","$obj","attr","Dropzone","autoDiscover","select","on","fadeOut","resize","document","$this","this","val","addClass","removeClass","change","event","console","log","doc","documentElement","setAttribute","navigator","userAgent","isIE11","MSInputMethodContext","documentMode","jQuery","./modules/buttontop","./modules/captcha","./modules/contentCarousel","./modules/cookies","./modules/datetimepicker","./modules/footer","./modules/glossary","./modules/googlemap","./modules/mail","./modules/modal","./modules/navbar","./modules/overlay","./modules/search","./modules/select","./modules/settings","./modules/sidebar","./modules/slider","./modules/tabs","./modules/tabsstore","./modules/tradelist","./modules/upload","2","init","scroll","scrollTop","fadeIn","click","animate","3","html","removeAttr","4","owlCarousel","items","loop","dots","nav","navText","5","preventDefault","slideUp","6","format","allowInputToggle","locale","useCurrent","closest","find","data","minDate","date","maxDate","7","mobileRes","first","css","maxHeight","height","stop","slideDown","offset","top","dropdownHeight","8","dotsContainer","mouseDrag","trigger","index","setTimeout","scrollLeft","position","left","leftPos","newposition","isScrolling","show","hide","get","scrollWidth","9","initHover","is_touch_device","mapHoverTime","mouseleave","that","clearTimeout","mouseenter","10","mailshare","fadeToggle","next","close","11","bind","12","closeWebsiteNav","closeSubDropdown","closeUserNav","initTop","initFooter","subMenuEvent","tabRes","stopPropagation","hasClass","type","toggleClass","slideToggle","complete","closeSearch","hover","parent","not","13","target","14","searchEvent","15","16","maxTouchPoints","17","maxRes","screenRes","events","reCalc","sticky","topSpacing","className","split","sidebarItem","open","isOpen","unstick","18","autoplay","autoPlaySpeed","autoPlayTimeout","rewindNav","smartSpeed","19","changeHeader","pos","relatedTarget","normalize","item","tab_id","margin","20","21","ctrlKey","appendTo","22"],"mappings":"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","file":"main.min.js","sourcesContent":["(function e(t, n, r) { function s(o, u) { if (!n[o]) { if (!t[o]) { var a = typeof require == \"function\" && require; if (!u && a) return a(o, !0); if (i) return i(o, !0); var f = new Error(\"Cannot find module '\" + o + \"'\"); throw f.code = \"MODULE_NOT_FOUND\", f } var l = n[o] = { exports: {} }; t[o][0].call(l.exports, function (e) { var n = t[o][1][e]; return s(n ? n : e) }, l, l.exports, e, t, n, r) } return n[o].exports } var i = typeof require == \"function\" && require; for (var o = 0; o < r.length; o++)s(r[o]); return s })({\n 1: [function (require, module, exports) {\n 'use strict';\n\n var _slider = require('./modules/slider');\n\n var slider = _interopRequireWildcard(_slider);\n\n var _sidebar = require('./modules/sidebar');\n\n var sidebar = _interopRequireWildcard(_sidebar);\n\n var _tabs = require('./modules/tabs');\n\n var tabs = _interopRequireWildcard(_tabs);\n\n var _cookies = require('./modules/cookies');\n\n var cookies = _interopRequireWildcard(_cookies);\n\n var _navbar = require('./modules/navbar');\n\n var navbar = _interopRequireWildcard(_navbar);\n\n var _search = require('./modules/search');\n\n var search = _interopRequireWildcard(_search);\n\n var _footer = require('./modules/footer');\n\n var footer = _interopRequireWildcard(_footer);\n\n var _settings = require('./modules/settings');\n\n var settings = _interopRequireWildcard(_settings);\n\n var _glossary = require('./modules/glossary');\n\n var glossary = _interopRequireWildcard(_glossary);\n\n var _mail = require('./modules/mail');\n\n var mail = _interopRequireWildcard(_mail);\n\n var _contentCarousel = require('./modules/contentCarousel');\n\n var contentCarousel = _interopRequireWildcard(_contentCarousel);\n\n var _googlemap = require('./modules/googlemap');\n\n var googleMap = _interopRequireWildcard(_googlemap);\n\n var _tabsstore = require('./modules/tabsstore');\n\n var tabsStore = _interopRequireWildcard(_tabsstore);\n\n var _upload = require('./modules/upload');\n\n var upload = _interopRequireWildcard(_upload);\n\n var _select = require('./modules/select');\n\n var selectElement = _interopRequireWildcard(_select);\n\n var _modal = require('./modules/modal');\n\n var modal = _interopRequireWildcard(_modal);\n\n var _tradelist = require('./modules/tradelist');\n\n var tradeList = _interopRequireWildcard(_tradelist);\n\n var _datetimepicker = require('./modules/datetimepicker');\n\n var datetimepicker = _interopRequireWildcard(_datetimepicker);\n\n var _buttontop = require('./modules/buttontop');\n\n var buttonTop = _interopRequireWildcard(_buttontop);\n\n var _overlay = require('./modules/overlay');\n\n var overlay = _interopRequireWildcard(_overlay);\n\n var _captcha = require('./modules/captcha');\n\n var captcha = _interopRequireWildcard(_captcha);\n\n function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n (function ($) {\n Dropzone.autoDiscover = false;\n window.settings = settings;\n window.slider = slider;\n window.cookies = cookies;\n window.sidebar = sidebar;\n window.tabs = tabs;\n window.mail = mail;\n window.navbar = navbar;\n window.search = search;\n window.footer = footer;\n window.glossary = glossary;\n window.contentCarousel = contentCarousel;\n window.googleMap = googleMap;\n window.tabsStore = tabsStore;\n window.upload = upload;\n window.select = selectElement;\n window.modal = modal;\n window.tradeList = tradeList;\n window.datetimepicker = datetimepicker;\n window.buttonTop = buttonTop;\n window.overlay = overlay;\n window.captcha = captcha;\n\n //São para mostrar os estilos das mensagens de sucesso e erro no formulário TEMP\n /*$(\".forms button\").click(function () {\n $(\".generic-input:nth-child(odd) .forclickEvent\").addClass(\"checkmark-circle\");\n $(\".generic-input:nth-child(even) .error-validation\").addClass(\"error\");\n $(\".generic-input:nth-child(even), .generic-combo\").addClass(\"error\");\n });*/\n\n $(window).on('load', function () {\n $(\".se-pre-con\").fadeOut(1);\n });\n\n changePlaceholder();\n $(window).resize(function () {\n changePlaceholder();\n });\n\n function changePlaceholder() {\n if ($(window).width() <= 767) {\n $('input').each(function (i, obj) {\n var $obj = $(obj);\n $obj.attr('placeholder', $obj.attr('data-mobile-placeholder') ? $obj.attr('data-mobile-placeholder') : $obj.attr('placeholder'));\n });\n } else {\n $('input').each(function (i, obj) {\n var $obj = $(obj);\n $obj.attr('placeholder', $obj.attr('data-desktop-placeholder') ? $obj.attr('data-desktop-placeholder') : $obj.attr('placeholder'));\n });\n }\n }\n\n $(document).on('change', 'select', function () {\n var $this = $(this);\n\n if ($this.val()) {\n $this.addClass('item-selected');\n } else {\n $this.removeClass('item-selected');\n }\n });\n\n $(document).change(function (event) {\n console.log('DOM CHANGED', event);\n });\n\n var doc = document.documentElement;\n doc.setAttribute('data-useragent', navigator.userAgent);\n\n var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;\n doc.setAttribute('data-IE11', isIE11);\n\n /* caso nao haja captcha, estamos a colocar um img dummy so porque sim. */\n })(jQuery);\n\n }, { \"./modules/buttontop\": 2, \"./modules/captcha\": 3, \"./modules/contentCarousel\": 4, \"./modules/cookies\": 5, \"./modules/datetimepicker\": 6, \"./modules/footer\": 7, \"./modules/glossary\": 8, \"./modules/googlemap\": 9, \"./modules/mail\": 10, \"./modules/modal\": 11, \"./modules/navbar\": 12, \"./modules/overlay\": 13, \"./modules/search\": 14, \"./modules/select\": 15, \"./modules/settings\": 16, \"./modules/sidebar\": 17, \"./modules/slider\": 18, \"./modules/tabs\": 19, \"./modules/tabsstore\": 20, \"./modules/tradelist\": 21, \"./modules/upload\": 22 }], 2: [function (require, module, exports) {\n 'use strict';\n\n var buttonTop = {\n init: function init() {\n $(window).scroll(function () {\n if ($(this).scrollTop() > 100) {\n $('.buttontop').fadeIn();\n } else {\n $('.buttontop').fadeOut();\n }\n });\n\n $('.buttontop').click(function () {\n $('html, body').animate({ scrollTop: 0 }, 800);\n return false;\n });\n }\n };\n module.exports = buttonTop;\n\n }, {}], 3: [function (require, module, exports) {\n 'use strict';\n\n var captcha = {\n init: function init() {\n var captcha = $(\".captcha .g-recaptcha\");\n var key = captcha.attr('data-sitekey');\n if (key == 'COLOCAR_KEY_AQUI') {\n var img = '<img src=\"/Content/img/captcha-sample.png\"/>';\n captcha.html(img);\n captcha.removeAttr('data-sitekey').removeClass('g-recaptcha').addClass('captcha-sample');\n }\n }\n };\n\n module.exports = captcha;\n\n }, {}], 4: [function (require, module, exports) {\n 'use strict';\n\n var contentCarousel = {\n init: function init() {\n $('.content-carousel .owl-dots .owl-dot').addClass('animation');\n\n $('.content-carousel .image-slider-carousel').owlCarousel({\n items: 1,\n loop: true,\n dots: true,\n nav: true,\n navText: [\"<div class='arrowleft'></div>\", \"<div class='arrowright'></div>\"]\n });\n }\n };\n\n module.exports = contentCarousel;\n\n }, {}], 5: [function (require, module, exports) {\n \"use strict\";\n\n var cookies = {\n init: function init() {\n $(\".cookies .close-button\").click(function (event) {\n event.preventDefault();\n $(\".cookies\").slideUp();\n });\n }\n };\n\n module.exports = cookies;\n\n }, {}], 6: [function (require, module, exports) {\n 'use strict';\n\n var datetimepicker = {\n init: function init() {\n $('.datetimepicker-min').datetimepicker({\n format: 'DD.MM.YYYY',\n allowInputToggle: true,\n locale: $('.datetimepicker-min').attr('data-locale'),\n useCurrent: false //Important! See issue #1075,\n });\n\n $('.datetimepicker-max').datetimepicker({\n format: 'DD.MM.YYYY',\n allowInputToggle: true,\n locale: $('.datetimepicker-max').attr('data-locale'),\n useCurrent: false //Important! See issue #1075\n });\n\n $(\".datetimepicker-min\").on(\"dp.change\", function (e) {\n $(this).closest('.datepicker').find('.datetimepicker-max').data(\"DateTimePicker\").minDate(e.date);\n });\n\n $(\".datetimepicker-max\").on(\"dp.change\", function (e) {\n $(this).closest('.datepicker').find('.datetimepicker-min').data(\"DateTimePicker\").maxDate(e.date);\n });\n\n $('.datetimepicker-single').datetimepicker({\n format: 'DD.MM.YYYY',\n allowInputToggle: true,\n locale: $('.datetimepicker-single').attr('data-locale')\n });\n }\n };\n\n module.exports = datetimepicker;\n\n }, {}], 7: [function (require, module, exports) {\n \"use strict\";\n\n var s = window.settings;\n var footer = {\n init: function init() {\n $(window).resize(function () {\n if ($(document).width() < s.mobileRes) {\n $(\".footer-menu .footer-nav > li\").first().css(\"padding-bottom\", 0);\n } else {\n var maxHeight = 0;\n $('.footer-menu .dropdown.open .dropdown-menu').each(function (i, obj) {\n var $obj = $(obj);\n var height = $obj.height();\n\n if (height > maxHeight) {\n maxHeight = height;\n }\n });\n\n if (maxHeight > 0) {\n maxHeight = maxHeight + 60;\n }\n $(\".footer-menu .footer-nav > li\").first().css(\"padding-bottom\", maxHeight);\n }\n });\n\n $('.footer-menu .dropdown').on('show.bs.dropdown', function (e) {\n $(this).find('.dropdown-menu').first().stop(true, true).slideDown(function () {\n if ($(document).width() >= s.mobileRes) {\n $(\"html, body\").animate({ scrollTop: $(this).offset().top - 59 }, 1000);\n var dropdownHeight = $(this).height();\n\n //$(\".footer-menu .footer-nav > li\").not(\":nth-last-of-type(-n+2)\").css(\"padding-bottom\", dropdownHeight + 60);\n $(\".footer-menu .footer-nav > li\").first().css(\"padding-bottom\", dropdownHeight + 60);\n } else {\n $('html,body').animate({\n scrollTop: $(this).offset().top - 60\n }, 500);\n }\n });\n });\n\n //Sliding up animation to dropd-down \n $('.footer-menu .dropdown').on('hide.bs.dropdown', function (e) {\n $(this).find('.dropdown-menu').first().stop(true, true).slideUp();\n $(\".footer-menu .footer-nav > li\").css(\"padding-bottom\", \"0\");\n });\n }\n };\n module.exports = footer;\n\n }, {}], 8: [function (require, module, exports) {\n 'use strict';\n\n var glossary = {\n init: function init() {\n $('.owl-dot').click(function () {\n $('.owl-dot').removeClass('active');\n $(this).addClass('active');\n });\n\n $('.image-slider-carousel').owlCarousel({\n items: 1,\n loop: true,\n dots: true,\n nav: true,\n navText: [\"<div class='arrowleft'></div>\", \"<div class='arrowright'></div>\"]\n });\n\n $('#glossary-carousel').owlCarousel({\n dotsContainer: '#glossary-carousel-custom-dots',\n items: 1,\n dots: true,\n // touchDrag : false,\n mouseDrag: false\n });\n\n $('#glossary-carousel-custom-dots .owl-dot').click(function () {\n $('.owl-dot').removeClass('active');\n $(this).addClass('active');\n $('#glossary-carousel').trigger('to.owl.carousel', [$(this).index(), 0]);\n });\n\n $('#glossary-carousel').on('change.owl.carousel', function (event) {\n window.setTimeout(function () {\n var scrollLeft = $('.owl-dot.active').position().left;\n if (scrollLeft > 200 || scrollLeft < 80) {\n var leftPos = $('#glossary-carousel-custom-dots').scrollLeft();\n\n if (scrollLeft < 80) {\n scrollLeft -= 100;\n } else {\n scrollLeft -= 166;\n }\n\n var newposition = leftPos + scrollLeft;\n\n $(\"#glossary-carousel-custom-dots\").animate({ scrollLeft: newposition }, 400);\n }\n }, 1);\n });\n\n var isScrolling = false;\n $('.glossary .glossary-prev').click(function () {\n if (isScrolling) {\n return;\n }\n isScrolling = true;\n\n $('.glossary .glossary-next').show();\n var leftPos = $('#glossary-carousel-custom-dots').scrollLeft();\n $(\"#glossary-carousel-custom-dots\").animate({ scrollLeft: leftPos - 66 }, 400, function () {\n isScrolling = false;\n var leftPos = $('#glossary-carousel-custom-dots').scrollLeft();\n if (leftPos <= 10) {\n $('.glossary .glossary-prev').hide();\n }\n });\n });\n\n $('.glossary .glossary-next').click(function () {\n if (isScrolling) {\n return;\n }\n isScrolling = true;\n\n $('.glossary .glossary-prev').show();\n\n var leftPos = $('#glossary-carousel-custom-dots').scrollLeft();\n $(\"#glossary-carousel-custom-dots\").animate({ scrollLeft: leftPos + 66 }, 400, function () {\n isScrolling = false;\n\n var leftPos = $('#glossary-carousel-custom-dots').scrollLeft();\n var width = $('#glossary-carousel-custom-dots').width();\n var scrollWidth = $('#glossary-carousel-custom-dots').get(0).scrollWidth;\n\n if (scrollWidth - leftPos - width <= 10) {\n $('.glossary .glossary-next').hide();\n }\n });\n });\n\n $('#glossary-carousel-custom-dots').scroll(function () {\n var leftPos = $('#glossary-carousel-custom-dots').scrollLeft();\n if (leftPos <= 10) {\n $('.glossary .glossary-prev').hide();\n } else {\n $('.glossary .glossary-prev').show();\n }\n\n var leftPos = $('#glossary-carousel-custom-dots').scrollLeft();\n var width = $('#glossary-carousel-custom-dots').width();\n var scrollWidth = $('#glossary-carousel-custom-dots').get(0).scrollWidth;\n\n if (scrollWidth - leftPos - width <= 10) {\n $('.glossary .glossary-next').hide();\n } else {\n $('.glossary .glossary-next').show();\n }\n });\n\n $('.glossary .glossary-prev').hide();\n }\n };\n\n module.exports = glossary;\n\n }, {}], 9: [function (require, module, exports) {\n 'use strict';\n\n var googleMap = {\n init: function init() {\n var map;\n\n function initMap() {\n var position = {\n lat: 38.747388,\n lng: -9.184956\n };\n map = new google.maps.Map(document.getElementById('map'), {\n center: position,\n zoom: 17\n });\n\n var marker = new google.maps.Marker({\n position: position,\n map: map,\n title: 'R. Alfredo Guisado 8–10, 1500–030 Lisboa, Portugal'\n });\n }\n },\n initHover: function initHover() {\n if (window.settings.is_touch_device()) {\n $(\".map-container #map\").addClass('map-hover');\n return;\n }\n\n var mapHoverTime = null;\n $(\".map-container #map\").mouseleave(function () {\n var that = $(this);\n if (mapHoverTime) {\n clearTimeout(mapHoverTime);\n that.removeClass('map-hover');\n }\n }).mouseenter(function () {\n var that = $(this);\n if (mapHoverTime) {\n clearTimeout(mapHoverTime);\n }\n\n mapHoverTime = window.setTimeout(function () {\n that.addClass('map-hover');\n }, 500);\n }).click(function () {\n var that = $(this);\n if (mapHoverTime) {\n clearTimeout(mapHoverTime);\n }\n\n that.addClass('map-hover');\n });\n }\n };\n\n module.exports = googleMap;\n\n }, {}], 10: [function (require, module, exports) {\n \"use strict\";\n\n var mailshare = {\n init: function init() {\n $(\".mail-share\").click(function () {\n\n $(\".overlay\").fadeToggle();\n $(this).next(\".send-email\").slideDown();\n });\n $(\".close-email\").click(function () {\n\n $(\".overlay\").fadeOut();\n $(\".send-email\").slideUp();\n });\n },\n close: function close() {\n $(\".send-email\").slideUp();\n }\n };\n\n module.exports = mailshare;\n\n }, {}], 11: [function (require, module, exports) {\n 'use strict';\n\n var modal = {\n init: function init() {\n $('.modal').bind('hidden.bs.modal', function () {\n $(\"html\").css(\"overflow\", \"auto\");\n });\n $('.modal').bind('show.bs.modal', function () {\n $(\"html\").css(\"overflow\", \"hidden\");\n });\n }\n };\n module.exports = modal;\n\n }, {}], 12: [function (require, module, exports) {\n \"use strict\";\n\n var navbar = {\n closeWebsiteNav: function closeWebsiteNav() {\n $(\".websites-toggle\").removeAttr('aria-expanded');\n $(\"#website-nav\").removeAttr('style');\n $(\".menu-website\").removeClass(\"below-overlay\");\n },\n closeSubDropdown: function closeSubDropdown() {\n $(\".dropdown-submenu-container.active\").removeClass(\"active\");\n $(\".dropdown-submenu.active\").removeClass(\"active\");\n },\n closeUserNav: function closeUserNav() {\n $(\".user-toggle\").removeAttr('aria-expanded');\n $(\".mobile-user-button ul\").removeAttr('style');\n $(\".menu-website\").removeClass(\"below-overlay\");\n },\n init: function init(top) {\n\n if (top) {\n navbar.initTop();\n } else {\n navbar.initFooter();\n }\n },\n initTop: function initTop() {\n var s = window.settings;\n $(\".websites-toggle\").click(function () {\n $(\".overlay\").fadeToggle();\n if ($(\"#website-nav\").attr('style')) {\n window.navbar.closeWebsiteNav(); \n // portalPublico.closeWebsiteNav();\n } else {\n $(\".websites-toggle\").attr('aria-expanded', true);\n $(\"#website-nav\").fadeToggle().attr('style', 'display: block !important');\n $(\".menu-website\").addClass(\"below-overlay\");\n }\n navbar.closeUserNav();\n });\n\n $(\".user-toggle\").click(function () {\n $(\".overlay\").fadeToggle();\n if ($(\".mobile-user-button ul\").attr('style')) {\n navbar.closeUserNav();\n //portalPublico.closeUserNav();\n } else {\n $(\".user-toggle\").attr('aria-expanded', true);\n $(\".mobile-user-button ul\").fadeToggle().attr('style', 'display: block !important');\n $(\".menu-website\").addClass(\"below-overlay\");\n }\n navbar.closeWebsiteNav();\n });\n\n $(\".menu-container\").on('shown.bs.collapse', function () {\n window.search.closeSearch();\n //portalPublico.closeSearch();\n $(\".overlay\").fadeOut();\n\n //$(\".menu-container\").animate({ 'margin-left': '0' });\n $(\".menu-container\").addClass('open-mobile');\n navbar.closeUserNav();\n navbar.closeWebsiteNav();\n //$(\"body\").stop().toggleClass(\"menu-open\");\n });\n\n $(\".menu-container\").on('hide.bs.collapse', function () {\n //$(\".menu-container\").animate({ 'margin-left': '-100%' });\n $(\".menu-container\").removeClass('open-mobile');\n //$(\"body\").stop().toggleClass(\"menu-open\");\n });\n\n //hover on menu with slide\n $('#menu-website .dropdown').hover(function () {\n\n if (!window.settings.is_touch_device()) {\n $('.dropdown-toggle', this).trigger('click');\n }\n });\n\n function subMenuEvent(event) {\n if ($(document).width() <= window.settings.tabRes) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n var $this = $(this);\n\n if ($this.hasClass('dropdown-submenu-four') && $(document).width() > s.tabRes) {\n return;\n }\n\n navbar.closeSubDropdown(); //closed open subDropdown\n\n if (event.type == 'mouseleave') // for mouse leave, return;\n {\n return;\n }\n\n $(this).toggleClass(\"active\").find(\"> .dropdown-submenu-container\").toggleClass(\"active\");\n\n if ($(document).width() <= s.tabRes) {\n var that = $(this);\n $(this).find(\"> .dropdown-submenu-container\").slideToggle({\n complete: function complete() {\n var display = that.find(\"> .dropdown-submenu-container\").css('display');\n\n if (display == 'none') {\n that.find('.icon-expand.expanded').removeClass('expanded');\n that.find(\".dropdown-submenu-container\").hide();\n }\n }\n });\n }\n }\n\n $(\".icon-expand\").parent().click(function (event) {\n $(this).find('.icon-expand').toggleClass('expanded');\n });\n\n $(\".menu-website .navbar-nav .dropdown-toggle\").click(function () {\n if ($(document).width() < s.tabRes) {\n var expanded = $(this).attr('aria-expanded');\n if (expanded) {\n var that = $(this);\n that.parent().find(\".dropdown-submenu-container\").slideUp({\n complete: function complete() {\n that.parent().find('.icon-expand.expanded').removeClass('expanded');\n }\n });\n }\n }\n });\n\n $(\"li.dropdown-submenu\").not(\"li.dropdown-submenu.active\").click(function (e) {\n if ($(document).width() < s.tabRes) {\n subMenuEvent.call(this, e);\n } else {\n /* e.preventDefault();\n e.stopPropagation(); */\n }\n });\n $(\"li.dropdown-submenu ul li > a\").not(\"li.dropdown-submenu ul li.dropdown-submenu-four > a\").click(function (e) {\n if ($(document).width() < s.tabRes) {\n /* e.preventDefault();*/\n e.stopPropagation();\n }\n });\n $(\"li.dropdown-submenu\").hover(function (e) {\n if ($(document).width() >= s.tabRes) {\n subMenuEvent.call(this, e);\n } else {\n /* e.preventDefault();\n e.stopPropagation();*/\n }\n });\n\n $('#menu-website .dropdown').on('show.bs.dropdown', function () {\n if ($(document).width() >= s.tabRes) {\n $(this).find('.dropdown-menu').first().stop(true, true).fadeIn(\"slow\");\n } else {\n $(this).find('.dropdown-menu').first().stop(true, true).slideToggle(\"slow\");\n }\n });\n\n // Add slideUp animation to Bootstrap dropdown when collapsing.\n $('#menu-website .dropdown').on('hide.bs.dropdown', function () {\n if ($(document).width() >= s.tabRes) {\n //$(this).find('.dropdown-menu').first().stop(true, true).fadeOut(\"slow\");\n $(this).find('.dropdown-menu').first().hide();\n } else {\n $(this).find('.dropdown-menu').first().stop(true, true).slideToggle(\"slow\");\n }\n\n navbar.closeSubDropdown();\n });\n },\n initFooter: function initFooter() {\n var s = window.settings;\n $(window).resize(function () {\n if ($(document).width() < s.mobileRes) {\n $(\".footer-menu .footer-nav > li\").first().css(\"padding-bottom\", 0);\n } else {\n var maxHeight = 0;\n $('.footer-menu .dropdown.open .dropdown-menu').each(function (i, obj) {\n var $obj = $(obj);\n var height = $obj.height();\n\n if (height > maxHeight) {\n maxHeight = height;\n }\n });\n\n if (maxHeight > 0) {\n maxHeight = maxHeight + 60;\n }\n $(\".footer-menu .footer-nav > li\").first().css(\"padding-bottom\", maxHeight);\n }\n });\n\n $('.footer-menu .dropdown').on('show.bs.dropdown', function (e) {\n $(this).find(' .dropdown-menu').first().stop(true, true).slideDown(function () {\n if ($(document).width() >= s.mobileRes) {\n $(\"html, body\").animate({ scrollTop: $(this).offset().top - 59 }, 1000);\n var dropdownHeight = $(this).height();\n\n //$(\".footer-menu .footer-nav > li\").not(\":nth-last-of-type(-n+2)\").css(\"padding-bottom\", dropdownHeight + 60);\n $(\".footer-menu .footer-nav > li\").first().css(\"padding-bottom\", dropdownHeight + 60);\n } else {\n $('html,body').animate({\n scrollTop: $(this).offset().top - 60\n }, 500);\n }\n });\n });\n\n //Sliding up animation to dropd-down \n $('.footer-menu .dropdown').on('hide.bs.dropdown', function (e) {\n $(this).find(' .dropdown-menu').first().stop(true, true).slideUp();\n $(\".footer-menu .footer-nav > li\").css(\"padding-bottom\", \"0\");\n });\n }\n };\n\n module.exports = navbar;\n\n }, {}], 13: [function (require, module, exports) {\n \"use strict\";\n\n var overlay = {\n init: function init() {\n $(\".overlay\").on(\"click\", function (event) {\n window.search.closeSearch();\n window.navbar.closeWebsiteNav();\n window.navbar.closeUserNav();\n window.sidebar.close();\n window.mail.close();\n $(\".overlay\").fadeOut();\n });\n\n $(window).on('scroll touchmove mousewheel', function (e) {\n if ($(e.target).hasClass('overlay')) {\n e.preventDefault();\n e.stopPropagation();\n }\n });\n }\n };\n\n module.exports = overlay;\n\n }, {}], 14: [function (require, module, exports) {\n \"use strict\";\n\n var search = {\n init: function init() {\n $(\".icon-search\").parent().click(function () {\n var that = $(this);\n that.parent().toggleClass(\"open\");\n\n $(\".side-icons .search-container\").fadeToggle();\n search.searchEvent();\n });\n\n /* search resize */\n $(window).resize(search.searchEvent);\n\n $(window).on('scroll touchmove mousewheel', function (e) {\n if ($(e.target).parent().hasClass('search-container') && $(window).width() < window.settings.tabRes) {\n e.preventDefault();\n e.stopPropagation();\n }\n });\n },\n searchEvent: function searchEvent() {\n var that = $(\".icon-search\").parent();\n if (that.parent().hasClass(\"open\")) {\n if ($(document).width() < window.settings.tabRes) {\n that.closest('.side-icons').find('li').removeClass(\"active\");\n $(\"html\").css(\"overflow\", \"auto\");\n $(\"body\").removeClass(\"sidebar-open\");\n $(\".sidebar-item\").removeClass('item-open');\n $(\".overlay\").fadeIn();\n } else {\n $(\".overlay\").fadeOut();\n }\n } else {\n /*if ($('.overlay').css('display') == 'block' && $(window).width() < s.mobileRes){\n return;\n }*/\n\n $(\".overlay\").fadeOut();\n }\n },\n closeSearch: function closeSearch() {\n $(\".icon-search\").closest('li').removeClass(\"open\");\n $(\".side-icons .search-container\").hide();\n }\n };\n module.exports = search;\n\n }, {}], 15: [function (require, module, exports) {\n \"use strict\";\n\n var select = {\n init: function init() {\n $(\"select\").each(function (e) {\n var $this = $(this);\n if ($this.val()) {\n $this.addClass('item-selected');\n }\n });\n }\n };\n\n module.exports = select;\n\n }, {}], 16: [function (require, module, exports) {\n 'use strict';\n\n var settings = {\n mobileRes: 768,\n tabRes: 992,\n is_touch_device: function is_touch_device() {\n return 'ontouchstart' in window // works on most browsers \n || navigator.maxTouchPoints; // works on IE10/11 and Surface\n }\n };\n\n module.exports = settings;\n\n }, {}], 17: [function (require, module, exports) {\n \"use strict\";\n\n var s,\n sidebar = {\n settings: {\n mobileRes: 768,\n tabRes: 991,\n maxRes: 1600,\n screenRes: 0\n },\n init: function init() {\n s = this.settings;\n s.screenRes = $(window).width();\n sidebar.events();\n\n var that = this;\n\n $(window).resize(function () {\n var newRes = $(window).width();\n if (newRes > s.tabRes) {\n that.reCalc();\n }\n });\n\n if ($(window).width() >= s.mobileRes) {\n $(\".sticky_item\").sticky({ topSpacing: 0 });\n }\n },\n\n events: function events() {\n\n $(\".toggle-sidebar:not(.toggle-fb)\").click(function () {\n s.screenRes = $(window).width();\n\n if (s.screenRes <= s.tabRes) {\n var className = $(this).attr('class').split(\" \")[0];\n var sidebarItem = $(\".sidebar .\" + className).parent();\n\n $(\".icon-search\").closest('li').removeClass(\"open\");\n $(\".side-icons .search-container\").fadeOut();\n\n $(\".mobile-icon\").parent().not($(this)).removeClass(\"active\");\n\n $(\".sidebar-item\").not(sidebarItem).removeClass(\"item-open\");\n sidebarItem.toggleClass(\"item-open\");\n if ($(\".sidebar-item\").hasClass(\"item-open\")) {\n $(this).parent().addClass(\"active\");\n sidebar.open();\n } else {\n $(this).parent().removeClass(\"active\");\n sidebar.close();\n }\n } else {\n var parent = $(this).parent();\n var isOpen = parent.hasClass(\"item-open\");\n\n $(\".sidebar-item\").removeClass(\"item-open\");\n if (!isOpen) {\n sidebar.open();\n parent.addClass(\"item-open\");\n } else {\n sidebar.close();\n }\n\n /*$(\".sidebar-item\").not($(this).parent()).removeClass(\"item-open\");\n $(this).parent().toggleClass(\"item-open\");\n if ($(\".sidebar-item\").hasClass(\"item-open\")) {\n sidebar.open();\n } else {\n sidebar.close();\n }*/\n sidebar.reCalc();\n }\n });\n },\n open: function open() {\n $(\"html\").css(\"overflow\", \"hidden\");\n $(\".overlay\").fadeIn();\n $(\"body\").addClass(\"sidebar-open\");\n },\n close: function close() {\n $(\"html\").css(\"overflow\", \"auto\");\n $(\".overlay\").fadeOut();\n $(\"body\").removeClass(\"sidebar-open\");\n\n $(\".sidebar-item\").removeClass(\"item-open\");\n $(\"body\").removeClass(\"sidebar-open\");\n $(\"html\").css(\"overflow\", \"auto\");\n $(\".overlay\").fadeOut();\n $(\".sticky_item\").unstick();\n $(\".sticky_item\").sticky();\n $(\".sticky_item\").sticky('update');\n },\n reCalc: function reCalc() {\n $(\".sticky_item\").unstick();\n $(\".sticky_item\").sticky();\n $(\".sticky_item\").sticky('update');\n }\n };\n\n module.exports = sidebar;\n\n }, {}], 18: [function (require, module, exports) {\n 'use strict';\n\n var s,\n slider = {\n init: function init() {\n $('.owl-carousel.main-slider').owlCarousel({\n items: 1,\n autoplay: 3000,\n autoPlaySpeed: 3000,\n autoPlayTimeout: 3000,\n loop: true,\n dots: true,\n nav: true,\n rewindNav: false,\n smartSpeed: 800\n });\n\n $('.owl-carousel.main-slider .owl-dots .owl-dot').addClass('animation');\n }\n };\n\n module.exports = slider;\n\n }, {}], 19: [function (require, module, exports) {\n 'use strict';\n\n var s,\n tabs = {\n settings: {},\n init: function init() {\n s = this.settings;\n $('ul.tabs li').click(function () {\n var tab_id = $(this).attr('data-tab');\n\n $('ul.tabs li').removeClass('current');\n $('.tab-content').removeClass('current');\n\n $(this).addClass('current');\n $(\"#\" + tab_id).addClass('current');\n });\n\n $('.tabs-carousel').owlCarousel({\n dotsContainer: '#carousel-custom-dots',\n items: 1,\n margin: 30,\n dots: true,\n nav: true,\n navText: [\"<img src='/Content/img/seta-l-r.png'>\", \"<img src='/Content/img/seta-r-r.png'>\"]\n });\n\n $('.owl-dot').click(function () {\n $('.owl-dot').removeClass('active');\n $(this).addClass('active');\n $('.tabs-carousel').trigger('to.owl.carousel', [$(this).index(), 300]);\n });\n\n function changeHeader(event) {\n var pos = event.relatedTarget.normalize(event.item.index, true);\n if (!$($('.tabs .owl-dot')[pos]).hasClass('active')) {\n $('.tabs .owl-dot').removeClass('active');\n $($('.tabs .owl-dot')[pos]).addClass('active');\n }\n }\n\n $('.tabs-carousel .owl-dots .owl-dot').addClass('animation');\n\n $('.tabs-carousel').on('change.owl.carousel', function (event) {\n changeHeader(event);\n });\n }\n };\n\n module.exports = tabs;\n\n }, {}], 20: [function (require, module, exports) {\n 'use strict';\n\n var s,\n tabsStore = {\n settings: {},\n init: function init() {\n s = this.settings;\n $('.tabsstorecontainer ul.tabs li').click(function () {\n var tab_id = $(this).attr('data-tab');\n\n $('.tabsstorecontainer ul.tabs li').removeClass('current');\n $('.tabsstorecontainer .tab-content').removeClass('current');\n\n $(this).addClass('current');\n $(\"#\" + tab_id).addClass('current');\n });\n }\n };\n\n module.exports = tabsStore;\n\n }, {}], 21: [function (require, module, exports) {\n \"use strict\";\n\n var tradeList = {\n init: function init() {\n $(\".left-list li, .right-list li\").click(function (e) {\n\n if (!e.ctrlKey) {\n $(\".left-list li, .right-list li\").removeClass(\"selected\");\n }\n\n $(this).addClass(\"selected\");\n });\n $(\".left-change\").click(function () {\n var item = $(this).closest('.list-trade').find(\".right-list .selected\");\n item.appendTo($(this).closest('.list-trade').find(\".left-list ul\"));\n });\n $(\".right-change\").click(function () {\n var item = $(this).closest('.list-trade').find(\".left-list .selected\");\n item.appendTo($(this).closest('.list-trade').find(\".right-list ul\"));\n });\n }\n\n };\n\n module.exports = tradeList;\n\n }, {}], 22: [function (require, module, exports) {\n \"use strict\";\n\n var upload = {\n init: function init() {\n $(document).on(\"click\", \"form .fileinput-button\", function () {\n $(this).closest(\".dropzone\").click();\n });\n }\n };\n\n module.exports = upload;\n\n }, {}]\n}, {}, [1])\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJhcHBcXGpzXFxtYWluLmpzIiwiYXBwXFxqc1xcbW9kdWxlc1xcYnV0dG9udG9wLmpzIiwiYXBwXFxqc1xcbW9kdWxlc1xcY2FwdGNoYS5qcyIsImFwcFxcanNcXG1vZHVsZXNcXGNvbnRlbnRDYXJvdXNlbC5qcyIsImFwcFxcanNcXG1vZHVsZXNcXGNvb2tpZXMuanMiLCJhcHBcXGpzXFxtb2R1bGVzXFxkYXRldGltZXBpY2tlci5qcyIsImFwcFxcanNcXG1vZHVsZXNcXGZvb3Rlci5qcyIsImFwcFxcanNcXG1vZHVsZXNcXGdsb3NzYXJ5LmpzIiwiYXBwXFxqc1xcbW9kdWxlc1xcZ29vZ2xlbWFwLmpzIiwiYXBwXFxqc1xcbW9kdWxlc1xcbWFpbC5qcyIsImFwcFxcanNcXG1vZHVsZXNcXG1vZGFsLmpzIiwiYXBwXFxqc1xcbW9kdWxlc1xcbmF2YmFyLmpzIiwiYXBwXFxqc1xcbW9kdWxlc1xcb3ZlcmxheS5qcyIsImFwcFxcanNcXG1vZHVsZXNcXHNlYXJjaC5qcyIsImFwcFxcanNcXG1vZHVsZXNcXHNlbGVjdC5qcyIsImFwcFxcanNcXG1vZHVsZXNcXHNldHRpbmdzLmpzIiwiYXBwXFxqc1xcbW9kdWxlc1xcc2lkZWJhci5qcyIsImFwcFxcanNcXG1vZHVsZXNcXHNsaWRlci5qcyIsImFwcFxcanNcXG1vZHVsZXNcXHRhYnMuanMiLCJhcHBcXGpzXFxtb2R1bGVzXFx0YWJzc3RvcmUuanMiLCJhcHBcXGpzXFxtb2R1bGVzXFx0cmFkZWxpc3QuanMiLCJhcHBcXGpzXFxtb2R1bGVzXFx1cGxvYWQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztBQ0FBOztJQUFZLE07O0FBQ1o7O0lBQVksTzs7QUFDWjs7SUFBWSxJOztBQUNaOztJQUFZLE87O0FBQ1o7O0lBQVksTTs7QUFDWjs7SUFBWSxNOztBQUNaOztJQUFZLE07O0FBQ1o7O0lBQVksUTs7QUFDWjs7SUFBWSxR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T0FBTyxPQUFQLEdBQWlCLFNBQWpCOzs7OztBQ3RCRCxJQUFJLFNBQVM7QUFDVCxVQUFNLGdCQUFXO0FBQ2IsVUFBRSxRQUFGLEVBQVksRUFBWixDQUFlLE9BQWYsRUFBd0Isd0JBQXhCLEVBQWtELFlBQVc7QUFDekQsY0FBRSxJQUFGLEVBQVEsT0FBUixDQUFnQixXQUFoQixFQUE2QixLQUE3QjtBQUNILFNBRkQ7QUFHSDtBQUxRLENBQWI7O0FBUUEsT0FBTyxPQUFQLEdBQWlCLE1BQWpCIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsImltcG9ydCAqIGFzIHNsaWRlciBmcm9tICcuL21vZHVsZXMvc2xpZGVyJ1xuaW1wb3J0ICogYXMgc2lkZWJhciBmcm9tICcuL21vZHVsZXMvc2lkZWJhcidcbmltcG9ydCAqIGFzIHRhYnMgZnJvbSAnLi9tb2R1bGVzL3RhYnMnXG5pbXBvcnQgKiBhcyBjb29raWVzIGZyb20gJy4vbW9kdWxlcy9jb29raWVzJ1xuaW1wb3J0ICogYXMgbmF2YmFyIGZyb20gJy4vbW9kdWxlcy9uYXZiYXInXG5pbXBvcnQgKiBhcyBzZWFyY2ggZnJvbSAnLi9tb2R1bGVzL3NlYXJjaCdcbmltcG9ydCAqIGFzIGZvb3RlciBmcm9tICcuL21vZHVsZXMvZm9vdGVyJ1xuaW1wb3J0ICogYXMgc2V0dGluZ3MgZnJvbSAnLi9tb2R1bGVzL3NldHRpbmdzJ1xuaW1wb3J0ICogYXMgZ2xvc3NhcnkgZnJvbSAnLi9tb2R1bGVzL2dsb3NzYXJ5J1xuaW1wb3J0ICogYXMgbWFpbCBmcm9tICcuL21vZHVsZXMvbWFpbCdcbmltcG9ydCAqIGFzIGNvbnRlbnRDYXJvdXNlbCBmcm9tICcuL21vZHVsZXMvY29udGVudENhcm91c2VsJ1xuaW1wb3J0ICogYXMgZ29vZ2xlTWFwIGZyb20gJy4vbW9kdWxlcy9nb29nbGVtYXAnXG5pbXBvcnQgKiBhcyB0YWJzU3RvcmUgZnJvbSAnLi9tb2R1bGVzL3RhYnNzdG9yZSdcbmltcG9ydCAqIGFzIHVwbG9hZCBmcm9tICcuL21vZHVsZXMvdXBsb2FkJ1xuaW1wb3J0ICogYXMgc2VsZWN0RWxlbWVudCBmcm9tICcuL21vZHVsZXMvc2VsZWN0J1xuaW1wb3J0ICogYXMgbW9kYWwgZnJvbSAnLi9tb2R1bGVzL21vZGFsJ1xuaW1wb3J0ICogYXMgdHJhZGVMaXN0IGZyb20gJy4vbW9kdWxlcy90cmFkZWxpc3QnXG5pbXBvcnQgKiBhcyBkYXRldGltZXBpY2tlciBmcm9tICcuL21vZHVsZXMvZGF0ZXRpbWVwaWNrZXInXG5pbXBvcnQgKiBhcyBidXR0b25Ub3AgZnJvbSAnLi9tb2R1bGVzL2J1dHRvbnRvcCdcbmltcG9ydCAqIGFzIG92ZXJsYXkgZnJvbSAnLi9tb2R1bGVzL292ZXJsYXknXG5pbXBvcnQgKiBhcyBjYXB0Y2hhIGZyb20gJy4vbW9kdWxlcy9jYXB0Y2hhJ1xuXG4oZnVuY3Rpb24oJCkge1xuICAgIHdpbmRvdy5zZXR0aW5ncyA9IHNldHRpbmdzO1xuICAgIHdpbmRvdy5zbGlkZXIgPSBzbGlkZXI7XG4gICAgd2luZG93LmNvb2tpZXMgPSBjb29raWVzO1xuICAgIHdpbmRvdy5zaWRlYmFyID0gc2lkZWJhcjtcbiAgICB3aW5kb3cudGFicyA9IHRhYnM7XG4gICAgd2luZG93Lm1haWwgPSBtYWlsO1xuICAgIHdpbmRvdy5uYXZiYXIgPSBuYXZiYXI7XG4gICAgd2luZG93LnNlYXJjaCA9IHNlYXJjaDtcbiAgICB3aW5kb3cuZm9vdGVyID0gZm9vdGVyO1xuICAgIHdpbmRvdy5nbG9zc2FyeSA9IGdsb3NzYXJ5O1xuICAgIHdpbmRvdy5jb250ZW50Q2Fyb3VzZWwgPSBjb250ZW50Q2Fyb3VzZWw7XG4gICAgd2luZG93Lmdvb2dsZU1hcCA9IGdvb2dsZU1hcDtcbiAgICB3aW5kb3cudGFic1N0b3JlID0gdGFic1N0b3JlO1xuICAgIHdpbmRvdy51cGxvYWQgPSB1cGxvYWQ7XG4gICAgd2luZG93LnNlbGVjdCA9IHNlbGVjdEVsZW1lbnQ7XG4gICAgd2luZG93Lm1vZGFsID0gbW9kYWw7XG4gICAgd2luZG93LnRyYWRlTGlzdCA9IHRyYWRlTGlzdDtcbiAgICB3aW5kb3cuZGF0ZXRpbWVwaWNrZXIgPSBkYXRldGltZXBpY2tlcjtcbiAgICB3aW5kb3cuYnV0dG9uVG9wID0gYnV0dG9uVG9wO1xuICAgIHdpbmRvdy5vdmVybGF5ID0gb3ZlcmxheTtcbiAgICB3aW5kb3cuY2FwdGNoYSA9IGNhcHRjaGE7XG5cbiAgICAvL1PDsyBwYXJhIG1vc3RyYXIgb3MgZXN0aWxvcyBkYXMgbWVuc2FnZW5zIGRlIHN1Y2Vzc28gZSBlcnJvIG5vIGZvcm11bMOhcmlvIFRFTVBcbiAgICAvKiQoXCIuZm9ybXMgYnV0dG9uXCIpLmNsaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgJChcIi5nZW5lcmljLWlucHV0Om50aC1jaGlsZChvZGQpIC5mb3JjbGlja0V2ZW50XCIpLmFkZENsYXNzKFwiY2hlY2ttYXJrLWNpcmNsZVwiKTtcbiAgICAgICAgJChcIi5nZW5lcmljLWlucHV0Om50aC1jaGlsZChldmVuKSAuZXJyb3ItdmFsaWRhdGlvblwiKS5hZGRDbGFzcyhcImVycm9yXCIpO1xuICAgICAgICAkKFwiLmdlbmVyaWMtaW5wdXQ6bnRoLWNoaWxkKGV2ZW4pLCAuZ2VuZXJpYy1jb21ib1wiKS5hZGRDbGFzcyhcImVycm9yXCIpO1xuICAgIH0pOyovXG5cbiAgICAkKHdpbmRvdykub24oJ2xvYWQnLCBmdW5jdGlvbigpIHtcbiAgICAgICAgJChcIi5zZS1wcmUtY29uXCIpLmZhZGVPdXQoMSk7XG4gICAgfSk7XG5cbiAgICBjaGFuZ2VQbGFjZWhvbGRlcigpXG4gICAgJCh3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbigpIHtcbiAgICAgICAgY2hhbmdlUGxhY2Vob2xkZXIoKVxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gY2hhbmdlUGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIGlmICgkKHdpbmRvdykud2lkdGgoKSA8PSA3NjcpIHtcbiAgICAgICAgICAgICQoJ2lucHV0JykuZWFjaChmdW5jdGlvbihpLCBvYmopIHtcbiAgICAgICAgICAgICAgICB2YXIgJG9iaiA9ICQob2JqKTtcbiAgICAgICAgICAgICAgICAkb2JqLmF0dHIoJ3BsYWNlaG9sZGVyJywgJG9iai5hdHRyKCdkYXRhLW1vYmlsZS1wbGFjZWhvbGRlcicpID8gJG9iai5hdHRyKCdkYXRhLW1vYmlsZS1wbGFjZWhvbGRlcicpIDogJG9iai5hdHRyKCdwbGFjZWhvbGRlcicpKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkKCdpbnB1dCcpLmVhY2goZnVuY3Rpb24oaSwgb2JqKSB7XG4gICAgICAgICAgICAgICAgdmFyICRvYmogPSAkKG9iaik7XG4gICAgICAgICAgICAgICAgJG9iai5hdHRyKCdwbGFjZWhvbGRlcicsICRvYmouYXR0cignZGF0YS1kZXNrdG9wLXBsYWNlaG9sZGVyJykgPyAkb2JqLmF0dHIoJ2RhdGEtZGVza3RvcC1wbGFjZWhvbGRlcicpIDogJG9iai5hdHRyKCdwbGFjZWhvbGRlcicpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJChkb2N1bWVudCkub24oJ2NoYW5nZScsICdzZWxlY3QnLCBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTtcblxuICAgICAgICBpZiAoJHRoaXMudmFsKCkpIHtcbiAgICAgICAgICAgICR0aGlzLmFkZENsYXNzKCdpdGVtLXNlbGVjdGVkJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAkdGhpcy5yZW1vdmVDbGFzcygnaXRlbS1zZWxlY3RlZCcpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAkKGRvY3VtZW50KS5jaGFuZ2UoZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0RPTSBDSEFOR0VEJywgZXZlbnQpO1xuICAgIH0pO1xuXG4gICAgdmFyIGRvYyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICBkb2Muc2V0QXR0cmlidXRlKCdkYXRhLXVzZXJhZ2VudCcsIG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4gICAgdmFyIGlzSUUxMSA9ICEhd2luZG93Lk1TSW5wdXRNZXRob2RDb250ZXh0ICYmICEhZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xuICAgIGRvYy5zZXRBdHRyaWJ1dGUoJ2RhdGEtSUUxMScsIGlzSUUxMSk7XG5cbiAgICAvKiBjYXNvIG5hbyBoYWphIGNhcHRjaGEsIGVzdGFtb3MgYSBjb2xvY2FyIHVtIGltZyBkdW1teSBzbyBwb3JxdWUgc2ltLiAqL1xuXG59KShqUXVlcnkpOyIsInZhciBidXR0b25Ub3AgPSB7XHJcbiAgICBpbml0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICAkKHdpbmRvdykuc2Nyb2xsKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICBpZiAoJCh0aGlzKS5zY3JvbGxUb3AoKSA+IDEwMCkge1xyXG4gICAgICAgICAgICAgICAgJCgnLmJ1dHRvbnRvcCcpLmZhZGVJbigpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJCgnLmJ1dHRvbnRvcCcpLmZhZGVPdXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKCcuYnV0dG9udG9wJykuY2xpY2soZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgICQoJ2h0bWwsIGJvZHknKS5hbmltYXRlKHsgc2Nyb2xsVG9wOiAwIH0sIDgwMCk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG5tb2R1bGUuZXhwb3J0cyA9IGJ1dHRvblRvcDsiLCJ2YXIgY2FwdGNoYSA9IHtcclxuICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHZhciBjYXB0Y2hhID0gJChcIi5jYXB0Y2hhIC5nLXJlY2FwdGNoYVwiKTtcclxuICAgICAgICB2YXIga2V5ID0gY2FwdGNoYS5hdHRyKCdkYXRhLXNpdGVrZXknKTtcclxuICAgICAgICBpZiAoa2V5ID09ICdDT0xPQ0FSX0tFWV9BUVVJJykge1xyXG4gICAgICAgICAgICB2YXIgaW1nID0gJzxpbWcgc3JjPVwiLi9pbWcvY2FwdGNoYS1zYW1wbGUucG5nXCIvPic7XHJcbiAgICAgICAgICAgIGNhcHRjaGEuaHRtbChpbWcpO1xyXG4gICAgICAgICAgICBjYXB0Y2hhLnJlbW92ZUF0dHIoJ2RhdGEtc2l0ZWtleScpLnJlbW92ZUNsYXNzKCdnLXJlY2FwdGNoYScpLmFkZENsYXNzKCdjYXB0Y2hhLXNhbXBsZScpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBjYXB0Y2hhOyIsInZhciBjb250ZW50Q2Fyb3VzZWwgPSB7XHJcbiAgICBpbml0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICAkKCcuY29udGVudC1jYXJvdXNlbCAub3dsLWRvdHMgLm93bC1kb3QnKS5hZGRDbGFzcygnYW5pbWF0aW9uJyk7XHJcblxyXG4gICAgICAgICQoJy5jb250ZW50LWNhcm91c2VsIC5pbWFnZS1zbGlkZXItY2Fyb3VzZWwnKS5vd2xDYXJvdXNlbCh7XHJcbiAgICAgICAgICAgIGl0ZW1zOiAxLFxyXG4gICAgICAgICAgICBsb29wOiB0cnVlLFxyXG4gICAgICAgICAgICBkb3RzOiB0cnVlLFxyXG4gICAgICAgICAgICBuYXY6IHRydWUsXHJcbiAgICAgICAgICAgIG5hdlRleHQ6IFtcIjxkaXYgY2xhc3M9J2Fycm93bGVmdCc+PC9kaXY+XCIsIFwiPGRpdiBjbGFzcz0nYXJyb3dyaWdodCc+PC9kaXY+XCJdXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnRDYXJvdXNlbDsiLCJ2YXIgY29va2llcyA9IHtcclxuICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICQoXCIuY29va2llcyAuY2xvc2UtYnV0dG9uXCIpLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICQoXCIuY29va2llc1wiKS5zbGlkZVVwKCk7XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBjb29raWVzOyIsInZhciBkYXRldGltZXBpY2tlciA9IHtcclxuICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICQoJy5kYXRldGltZXBpY2tlci1taW4nKS5kYXRldGltZXBpY2tlcih7XHJcbiAgICAgICAgICAgIGZvcm1hdDogJ0RELk1NLllZWVknLFxyXG4gICAgICAgICAgICBhbGxvd0lucHV0VG9nZ2xlOiB0cnVlLFxyXG4gICAgICAgICAgICBsb2NhbGU6ICQoJy5kYXRldGltZXBpY2tlci1taW4nKS5hdHRyKCdkYXRhLWxvY2FsZScpLFxyXG4gICAgICAgICAgICB1c2VDdXJyZW50OiBmYWxzZSAvL0ltcG9ydGFudCEgU2VlIGlzc3VlICMxMDc1LFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKCcuZGF0ZXRpbWVwaWNrZXItbWF4JykuZGF0ZXRpbWVwaWNrZXIoe1xyXG4gICAgICAgICAgICBmb3JtYXQ6ICdERC5NTS5ZWVlZJyxcclxuICAgICAgICAgICAgYWxsb3dJbnB1dFRvZ2dsZTogdHJ1ZSxcclxuICAgICAgICAgICAgbG9jYWxlOiAkKCcuZGF0ZXRpbWVwaWNrZXItbWF4JykuYXR0cignZGF0YS1sb2NhbGUnKSxcclxuICAgICAgICAgICAgdXNlQ3VycmVudDogZmFsc2UgLy9JbXBvcnRhbnQhIFNlZSBpc3N1ZSAjMTA3NVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKFwiLmRhdGV0aW1lcGlja2VyLW1pblwiKS5vbihcImRwLmNoYW5nZVwiLCBmdW5jdGlvbihlKSB7XHJcbiAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnLmRhdGVwaWNrZXInKS5maW5kKCcuZGF0ZXRpbWVwaWNrZXItbWF4JykuZGF0YShcIkRhdGVUaW1lUGlja2VyXCIpLm1pbkRhdGUoZS5kYXRlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJChcIi5kYXRldGltZXBpY2tlci1tYXhcIikub24oXCJkcC5jaGFuZ2VcIiwgZnVuY3Rpb24oZSkge1xyXG4gICAgICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoJy5kYXRlcGlja2VyJykuZmluZCgnLmRhdGV0aW1lcGlja2VyLW1pbicpLmRhdGEoXCJEYXRlVGltZVBpY2tlclwiKS5tYXhEYXRlKGUuZGF0ZSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoJy5kYXRldGltZXBpY2tlci1zaW5nbGUnKS5kYXRldGltZXBpY2tlcih7XHJcbiAgICAgICAgICAgIGZvcm1hdDogJ0RELk1NLllZWVknLFxyXG4gICAgICAgICAgICBhbGxvd0lucHV0VG9nZ2xlOiB0cnVlLFxyXG4gICAgICAgICAgICBsb2NhbGU6ICQoJy5kYXRldGltZXBpY2tlci1zaW5nbGUnKS5hdHRyKCdkYXRhLWxvY2FsZScpXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbm1vZHVsZS5leHBvcnRzID0gZGF0ZXRpbWVwaWNrZXI7IiwidmFyIHMgPSB3aW5kb3cuc2V0dGluZ3M7XHJcbnZhciBmb290ZXIgPSB7XHJcbiAgICBpbml0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICAkKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICBpZiAoJChkb2N1bWVudCkud2lkdGgoKSA8IHMubW9iaWxlUmVzKSB7XHJcbiAgICAgICAgICAgICAgICAkKFwiLmZvb3Rlci1tZW51IC5mb290ZXItbmF2ID4gbGlcIikuZmlyc3QoKS5jc3MoXCJwYWRkaW5nLWJvdHRvbVwiLCAwKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHZhciBtYXhIZWlnaHQgPSAwO1xyXG4gICAgICAgICAgICAgICAgJCgnLmZvb3Rlci1tZW51IC5kcm9wZG93bi5vcGVuIC5kcm9wZG93bi1tZW51JykuZWFjaChmdW5jdGlvbihpLCBvYmopIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgJG9iaiA9ICQob2JqKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gJG9iai5oZWlnaHQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhlaWdodCA+IG1heEhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQgPSBoZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKG1heEhlaWdodCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXhIZWlnaHQgPSBtYXhIZWlnaHQgKyA2MDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICQoXCIuZm9vdGVyLW1lbnUgLmZvb3Rlci1uYXYgPiBsaVwiKS5maXJzdCgpLmNzcyhcInBhZGRpbmctYm90dG9tXCIsIG1heEhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJCgnLmZvb3Rlci1tZW51IC5kcm9wZG93bicpLm9uKCdzaG93LmJzLmRyb3Bkb3duJywgZnVuY3Rpb24oZSkge1xyXG4gICAgICAgICAgICAvL2RlYnVnZ2VyO1xyXG4gICAgICAgICAgICAkKHRoaXMpLmZpbmQoJy5kcm9wZG93bi1tZW51JykuZmlyc3QoKS5zdG9wKHRydWUsIHRydWUpLnNsaWRlRG93bihmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgIGlmICgkKGRvY3VtZW50KS53aWR0aCgpID49IHMubW9iaWxlUmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJChcImh0bWwsIGJvZHlcIikuYW5pbWF0ZSh7IHNjcm9sbFRvcDogJCh0aGlzKS5vZmZzZXQoKS50b3AgLSA1OSB9LCAxMDAwKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZHJvcGRvd25IZWlnaHQgPSAkKHRoaXMpLmhlaWdodCgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyQoXCIuZm9vdGVyLW1lbnUgLmZvb3Rlci1uYXYgPiBsaVwiKS5ub3QoXCI6bnRoLWxhc3Qtb2YtdHlwZSgtbisyKVwiKS5jc3MoXCJwYWRkaW5nLWJvdHRvbVwiLCBkcm9wZG93bkhlaWdodCArIDYwKTtcclxuICAgICAgICAgICAgICAgICAgICAkKFwiLmZvb3Rlci1tZW51IC5mb290ZXItbmF2ID4gbGlcIikuZmlyc3QoKS5jc3MoXCJwYWRkaW5nLWJvdHRvbVwiLCBkcm9wZG93bkhlaWdodCArIDYwKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJCgnaHRtbCxib2R5JykuYW5pbWF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogJCh0aGlzKS5vZmZzZXQoKS50b3AgLSA2MFxyXG4gICAgICAgICAgICAgICAgICAgIH0sIDUwMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvL1NsaWRpbmcgdXAgYW5pbWF0aW9uIHRvIGRyb3BkLWRvd24gICBcclxuICAgICAgICAkKCcuZm9vdGVyLW1lbnUgLmRyb3Bkb3duJykub24oJ2hpZGUuYnMuZHJvcGRvd24nLCBmdW5jdGlvbihlKSB7XHJcbiAgICAgICAgICAgICQodGhpcykuZmluZCgnLmRyb3Bkb3duLW1lbnUnKS5maXJzdCgpLnN0b3AodHJ1ZSwgdHJ1ZSkuc2xpZGVVcCgpO1xyXG4gICAgICAgICAgICAkKFwiLmZvb3Rlci1tZW51IC5mb290ZXItbmF2ID4gbGlcIikuY3NzKFwicGFkZGluZy1ib3R0b21cIiwgXCIwXCIpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuXHJcbiAgICB9XHJcbn1cclxubW9kdWxlLmV4cG9ydHMgPSBmb290ZXI7IiwidmFyIGdsb3NzYXJ5ID0ge1xyXG4gICAgaW5pdDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgJCgnLm93bC1kb3QnKS5jbGljayhmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgJCgnLm93bC1kb3QnKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKCcuaW1hZ2Utc2xpZGVyLWNhcm91c2VsJykub3dsQ2Fyb3VzZWwoe1xyXG4gICAgICAgICAgICBpdGVtczogMSxcclxuICAgICAgICAgICAgbG9vcDogdHJ1ZSxcclxuICAgICAgICAgICAgZG90czogdHJ1ZSxcclxuICAgICAgICAgICAgbmF2OiB0cnVlLFxyXG4gICAgICAgICAgICBuYXZUZXh0OiBbXCI8ZGl2IGNsYXNzPSdhcnJvd2xlZnQnPjwvZGl2PlwiLCBcIjxkaXYgY2xhc3M9J2Fycm93cmlnaHQnPjwvZGl2PlwiXVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKCcjZ2xvc3NhcnktY2Fyb3VzZWwnKS5vd2xDYXJvdXNlbCh7XHJcbiAgICAgICAgICAgIGRvdHNDb250YWluZXI6ICcjZ2xvc3NhcnktY2Fyb3VzZWwtY3VzdG9tLWRvdHMnLFxyXG4gICAgICAgICAgICBpdGVtczogMSxcclxuICAgICAgICAgICAgZG90czogdHJ1ZSxcclxuICAgICAgICAgICAgLy8gdG91Y2hEcmFnICA6IGZhbHNlLFxyXG4gICAgICAgICAgICBtb3VzZURyYWc6IGZhbHNlXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoJyNnbG9zc2FyeS1jYXJvdXNlbC1jdXN0b20tZG90cyAub3dsLWRvdCcpLmNsaWNrKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAkKCcub3dsLWRvdCcpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcclxuICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnYWN0aXZlJyk7XHJcbiAgICAgICAgICAgICQoJyNnbG9zc2FyeS1jYXJvdXNlbCcpLnRyaWdnZXIoJ3RvLm93bC5jYXJvdXNlbCcsIFskKHRoaXMpLmluZGV4KCksIDBdKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJCgnI2dsb3NzYXJ5LWNhcm91c2VsJykub24oJ2NoYW5nZS5vd2wuY2Fyb3VzZWwnLCBmdW5jdGlvbihldmVudCkge1xyXG4gICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgIHZhciBzY3JvbGxMZWZ0ID0gJCgnLm93bC1kb3QuYWN0aXZlJykucG9zaXRpb24oKS5sZWZ0O1xyXG4gICAgICAgICAgICAgICAgaWYgKHNjcm9sbExlZnQgPiAyMDAgfHwgc2Nyb2xsTGVmdCA8IDgwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxlZnRQb3MgPSAkKCcjZ2xvc3NhcnktY2Fyb3VzZWwtY3VzdG9tLWRvdHMnKS5zY3JvbGxMZWZ0KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzY3JvbGxMZWZ0IDwgODApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsTGVmdCAtPSAxMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsTGVmdCAtPSAxNjY7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3cG9zaXRpb24gPSBsZWZ0UG9zICsgc2Nyb2xsTGVmdDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJChcIiNnbG9zc2FyeS1jYXJvdXNlbC1jdXN0b20tZG90c1wiKS5hbmltYXRlKHsgc2Nyb2xsTGVmdDogbmV3cG9zaXRpb24gfSwgNDAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgMSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHZhciBpc1Njcm9sbGluZyA9IGZhbHNlO1xyXG4gICAgICAgICQoJy5nbG9zc2FyeSAuZ2xvc3NhcnktcHJldicpLmNsaWNrKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICBpZiAoaXNTY3JvbGxpbmcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpc1Njcm9sbGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgICAkKCcuZ2xvc3NhcnkgLmdsb3NzYXJ5LW5leHQnKS5zaG93KCk7XHJcbiAgICAgICAgICAgIHZhciBsZWZ0UG9zID0gJCgnI2dsb3NzYXJ5LWNhcm91c2VsLWN1c3RvbS1kb3RzJykuc2Nyb2xsTGVmdCgpO1xyXG4gICAgICAgICAgICAkKFwiI2dsb3NzYXJ5LWNhcm91c2VsLWN1c3RvbS1kb3RzXCIpLmFuaW1hdGUoeyBzY3JvbGxMZWZ0OiBsZWZ0UG9zIC0gNjYgfSwgNDAwLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgIGlzU2Nyb2xsaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB2YXIgbGVmdFBvcyA9ICQoJyNnbG9zc2FyeS1jYXJvdXNlbC1jdXN0b20tZG90cycpLnNjcm9sbExlZnQoKTtcclxuICAgICAgICAgICAgICAgIGlmIChsZWZ0UG9zIDw9IDEwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJCgnLmdsb3NzYXJ5IC5nbG9zc2FyeS1wcmV2JykuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJCgnLmdsb3NzYXJ5IC5nbG9zc2FyeS1uZXh0JykuY2xpY2soZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIGlmIChpc1Njcm9sbGluZykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlzU2Nyb2xsaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICQoJy5nbG9zc2FyeSAuZ2xvc3NhcnktcHJldicpLnNob3coKTtcclxuXHJcbiAgICAgICAgICAgIHZhciBsZWZ0UG9zID0gJCgnI2dsb3NzYXJ5LWNhcm91c2VsLWN1c3RvbS1kb3RzJykuc2Nyb2xsTGVmdCgpO1xyXG4gICAgICAgICAgICAkKFwiI2dsb3NzYXJ5LWNhcm91c2VsLWN1c3RvbS1kb3RzXCIpLmFuaW1hdGUoeyBzY3JvbGxMZWZ0OiBsZWZ0UG9zICsgNjYgfSwgNDAwLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgIGlzU2Nyb2xsaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIGxlZnRQb3MgPSAkKCcjZ2xvc3NhcnktY2Fyb3VzZWwtY3VzdG9tLWRvdHMnKS5zY3JvbGxMZWZ0KCk7XHJcbiAgICAgICAgICAgICAgICB2YXIgd2lkdGggPSAkKCcjZ2xvc3NhcnktY2Fyb3VzZWwtY3VzdG9tLWRvdHMnKS53aWR0aCgpO1xyXG4gICAgICAgICAgICAgICAgdmFyIHNjcm9sbFdpZHRoID0gJCgnI2dsb3NzYXJ5LWNhcm91c2VsLWN1c3RvbS1kb3RzJykuZ2V0KDApLnNjcm9sbFdpZHRoO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChzY3JvbGxXaWR0aCAtIGxlZnRQb3MgLSB3aWR0aCA8PSAxMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICQoJy5nbG9zc2FyeSAuZ2xvc3NhcnktbmV4dCcpLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoJyNnbG9zc2FyeS1jYXJvdXNlbC1jdXN0b20tZG90cycpLnNjcm9sbChmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgdmFyIGxlZnRQb3MgPSAkKCcjZ2xvc3NhcnktY2Fyb3VzZWwtY3VzdG9tLWRvdHMnKS5zY3JvbGxMZWZ0KCk7XHJcbiAgICAgICAgICAgIGlmIChsZWZ0UG9zIDw9IDEwKSB7XHJcbiAgICAgICAgICAgICAgICAkKCcuZ2xvc3NhcnkgLmdsb3NzYXJ5LXByZXYnKS5oaWRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAkKCcuZ2xvc3NhcnkgLmdsb3NzYXJ5LXByZXYnKS5zaG93KCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHZhciBsZWZ0UG9zID0gJCgnI2dsb3NzYXJ5LWNhcm91c2VsLWN1c3RvbS1kb3RzJykuc2Nyb2xsTGVmdCgpO1xyXG4gICAgICAgICAgICB2YXIgd2lkdGggPSAkKCcjZ2xvc3NhcnktY2Fyb3VzZWwtY3VzdG9tLWRvdHMnKS53aWR0aCgpO1xyXG4gICAgICAgICAgICB2YXIgc2Nyb2xsV2lkdGggPSAkKCcjZ2xvc3NhcnktY2Fyb3VzZWwtY3VzdG9tLWRvdHMnKS5nZXQoMCkuc2Nyb2xsV2lkdGg7XHJcblxyXG4gICAgICAgICAgICBpZiAoc2Nyb2xsV2lkdGggLSBsZWZ0UG9zIC0gd2lkdGggPD0gMTApIHtcclxuICAgICAgICAgICAgICAgICQoJy5nbG9zc2FyeSAuZ2xvc3NhcnktbmV4dCcpLmhpZGUoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICQoJy5nbG9zc2FyeSAuZ2xvc3NhcnktbmV4dCcpLnNob3coKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKCcuZ2xvc3NhcnkgLmdsb3NzYXJ5LXByZXYnKS5oaWRlKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbm1vZHVsZS5leHBvcnRzID0gZ2xvc3Nhcnk7IiwidmFyIGdvb2dsZU1hcCA9IHtcclxuICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHZhciBtYXA7XHJcblxyXG4gICAgICAgIGZ1bmN0aW9uIGluaXRNYXAoKSB7XHJcbiAgICAgICAgICAgIHZhciBwb3NpdGlvbiA9IHtcclxuICAgICAgICAgICAgICAgIGxhdDogMzguNzQ3Mzg4LFxyXG4gICAgICAgICAgICAgICAgbG5nOiAtOS4xODQ5NTZcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgbWFwID0gbmV3IGdvb2dsZS5tYXBzLk1hcChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWFwJyksIHtcclxuICAgICAgICAgICAgICAgIGNlbnRlcjogcG9zaXRpb24sXHJcbiAgICAgICAgICAgICAgICB6b29tOiAxN1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHZhciBtYXJrZXIgPSBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBwb3NpdGlvbixcclxuICAgICAgICAgICAgICAgIG1hcDogbWFwLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6ICdSLiBBbGZyZWRvIEd1aXNhZG8gOOKAkzEwLCAxNTAw4oCTMDMwIExpc2JvYSwgUG9ydHVnYWwnXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBpbml0SG92ZXI6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIGlmICh3aW5kb3cuc2V0dGluZ3MuaXNfdG91Y2hfZGV2aWNlKCkpIHtcclxuICAgICAgICAgICAgJChcIi5tYXAtY29udGFpbmVyICNtYXBcIikuYWRkQ2xhc3MoJ21hcC1ob3ZlcicpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgbWFwSG92ZXJUaW1lID0gbnVsbDtcclxuICAgICAgICAkKFwiLm1hcC1jb250YWluZXIgI21hcFwiKS5tb3VzZWxlYXZlKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICB2YXIgdGhhdCA9ICQodGhpcyk7XHJcbiAgICAgICAgICAgIGlmIChtYXBIb3ZlclRpbWUpIHtcclxuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChtYXBIb3ZlclRpbWUpO1xyXG4gICAgICAgICAgICAgICAgdGhhdC5yZW1vdmVDbGFzcygnbWFwLWhvdmVyJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KS5tb3VzZWVudGVyKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICB2YXIgdGhhdCA9ICQodGhpcyk7XHJcbiAgICAgICAgICAgIGlmIChtYXBIb3ZlclRpbWUpIHtcclxuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChtYXBIb3ZlclRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBtYXBIb3ZlclRpbWUgPSB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgICAgIHRoYXQuYWRkQ2xhc3MoJ21hcC1ob3ZlcicpO1xyXG4gICAgICAgICAgICB9LCA1MDApO1xyXG4gICAgICAgIH0pLmNsaWNrKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICB2YXIgdGhhdCA9ICQodGhpcyk7XHJcbiAgICAgICAgICAgIGlmIChtYXBIb3ZlclRpbWUpIHtcclxuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChtYXBIb3ZlclRpbWUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGF0LmFkZENsYXNzKCdtYXAtaG92ZXInKTtcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBnb29nbGVNYXA7IiwidmFyIG1haWxzaGFyZSA9IHtcclxuICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICQoXCIubWFpbC1zaGFyZVwiKS5jbGljayhmdW5jdGlvbigpIHtcclxuXHJcbiAgICAgICAgICAgICQoXCIub3ZlcmxheVwiKS5mYWRlVG9nZ2xlKCk7XHJcbiAgICAgICAgICAgICQodGhpcykubmV4dChcIi5zZW5kLWVtYWlsXCIpLnNsaWRlRG93bigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgICQoXCIuY2xvc2UtZW1haWxcIikuY2xpY2soZnVuY3Rpb24oKSB7XHJcblxyXG4gICAgICAgICAgICAkKFwiLm92ZXJsYXlcIikuZmFkZU91dCgpO1xyXG4gICAgICAgICAgICAkKFwiLnNlbmQtZW1haWxcIikuc2xpZGVVcCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIGNsb3NlOiBmdW5jdGlvbigpIHtcclxuICAgICAgICAkKFwiLnNlbmQtZW1haWxcIikuc2xpZGVVcCgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IG1haWxzaGFyZTsiLCJ2YXIgbW9kYWwgPSB7XHJcbiAgICBpbml0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICAkKCcubW9kYWwnKS5iaW5kKCdoaWRkZW4uYnMubW9kYWwnLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgJChcImh0bWxcIikuY3NzKFwib3ZlcmZsb3dcIiwgXCJhdXRvXCIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgICQoJy5tb2RhbCcpLmJpbmQoJ3Nob3cuYnMubW9kYWwnLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgJChcImh0bWxcIikuY3NzKFwib3ZlcmZsb3dcIiwgXCJoaWRkZW5cIik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxubW9kdWxlLmV4cG9ydHMgPSBtb2RhbDsiLCJ2YXIgbmF2YmFyID0ge1xyXG4gICAgY2xvc2VXZWJzaXRlTmF2OiBmdW5jdGlvbiBjbG9zZVdlYnNpdGVOYXYoKSB7XHJcbiAgICAgICAgJChcIi53ZWJzaXRlcy10b2dnbGVcIikucmVtb3ZlQXR0cignYXJpYS1leHBhbmRlZCcpO1xyXG4gICAgICAgICQoXCIjd2Vic2l0ZS1uYXZcIikucmVtb3ZlQXR0cignc3R5bGUnKTtcclxuICAgICAgICAkKFwiLm1lbnUtd2Vic2l0ZVwiKS5yZW1vdmVDbGFzcyhcImJlbG93LW92ZXJsYXlcIik7XHJcbiAgICB9LFxyXG4gICAgY2xvc2VTdWJEcm9wZG93bjogZnVuY3Rpb24gY2xvc2VTdWJEcm9wZG93bigpIHtcclxuICAgICAgICAkKFwiLmRyb3Bkb3duLXN1Ym1lbnUtY29udGFpbmVyLmFjdGl2ZVwiKS5yZW1vdmVDbGFzcyhcImFjdGl2ZVwiKTtcclxuICAgICAgICAkKFwiLmRyb3Bkb3duLXN1Ym1lbnUuYWN0aXZlXCIpLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xyXG4gICAgfSxcclxuICAgIGNsb3NlVXNlck5hdjogZnVuY3Rpb24gY2xvc2VVc2VyTmF2KCkge1xyXG4gICAgICAgICQoXCIudXNlci10b2dnbGVcIikucmVtb3ZlQXR0cignYXJpYS1leHBhbmRlZCcpO1xyXG4gICAgICAgICQoXCIubW9iaWxlLXVzZXItYnV0dG9uIHVsXCIpLnJlbW92ZUF0dHIoJ3N0eWxlJyk7XHJcbiAgICAgICAgJChcIi5tZW51LXdlYnNpdGVcIikucmVtb3ZlQ2xhc3MoXCJiZWxvdy1vdmVybGF5XCIpO1xyXG4gICAgfSxcclxuICAgIGluaXQ6IGZ1bmN0aW9uIGluaXQodG9wKSB7XHJcblxyXG4gICAgICAgIGlmICh0b3ApIHtcclxuICAgICAgICAgICAgbmF2YmFyLmluaXRUb3AoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBuYXZiYXIuaW5pdEZvb3RlcigpO1xyXG4gICAgICAgIH1cclxuICAgIH0sXHJcbiAgICBpbml0VG9wOiBmdW5jdGlvbiBpbml0VG9wKCkge1xyXG4gICAgICAgIHZhciBzID0gd2luZG93LnNldHRpbmdzO1xyXG4gICAgICAgICQoXCIud2Vic2l0ZXMtdG9nZ2xlXCIpLmNsaWNrKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAkKFwiLm92ZXJsYXlcIikuZmFkZVRvZ2dsZSgpO1xyXG4gICAgICAgICAgICBpZiAoJChcIiN3ZWJzaXRlLW5hdlwiKS5hdHRyKCdzdHlsZScpKSB7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cubmF2YmFyLmNsb3NlV2Vic2l0ZU5hdigpO1xyXG4gICAgICAgICAgICAgICAgLy8gcG9ydGFsUHVibGljby5jbG9zZVdlYnNpdGVOYXYoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICQoXCIud2Vic2l0ZXMtdG9nZ2xlXCIpLmF0dHIoJ2FyaWEtZXhwYW5kZWQnLCB0cnVlKTtcclxuICAgICAgICAgICAgICAgICQoXCIjd2Vic2l0ZS1uYXZcIikuZmFkZVRvZ2dsZSgpLmF0dHIoJ3N0eWxlJywgJ2Rpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQnKTtcclxuICAgICAgICAgICAgICAgICQoXCIubWVudS13ZWJzaXRlXCIpLmFkZENsYXNzKFwiYmVsb3ctb3ZlcmxheVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKFwiLnVzZXItdG9nZ2xlXCIpLmNsaWNrKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAkKFwiLm92ZXJsYXlcIikuZmFkZVRvZ2dsZSgpO1xyXG4gICAgICAgICAgICBpZiAoJChcIi5tb2JpbGUtdXNlci1idXR0b24gdWxcIikuYXR0cignc3R5bGUnKSkge1xyXG4gICAgICAgICAgICAgICAgbmF2YmFyLmNsb3NlVXNlck5hdigpO1xyXG4gICAgICAgICAgICAgICAgLy9wb3J0YWxQdWJsaWNvLmNsb3NlVXNlck5hdigpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJChcIi51c2VyLXRvZ2dsZVwiKS5hdHRyKCdhcmlhLWV4cGFuZGVkJywgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAkKFwiLm1vYmlsZS11c2VyLWJ1dHRvbiB1bFwiKS5mYWRlVG9nZ2xlKCkuYXR0cignc3R5bGUnLCAnZGlzcGxheTogYmxvY2sgIWltcG9ydGFudCcpO1xyXG4gICAgICAgICAgICAgICAgJChcIi5tZW51LXdlYnNpdGVcIikuYWRkQ2xhc3MoXCJiZWxvdy1vdmVybGF5XCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoXCIubWVudS1jb250YWluZXJcIikub24oJ3Nob3duLmJzLmNvbGxhcHNlJywgZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5zZWFyY2guY2xvc2VTZWFyY2goKTtcclxuICAgICAgICAgICAgLy9wb3J0YWxQdWJsaWNvLmNsb3NlU2VhcmNoKCk7XHJcbiAgICAgICAgICAgICQoXCIub3ZlcmxheVwiKS5mYWRlT3V0KCk7XHJcblxyXG4gICAgICAgICAgICAvLyQoXCIubWVudS1jb250YWluZXJcIikuYW5pbWF0ZSh7ICdtYXJnaW4tbGVmdCc6ICcwJyB9KTtcclxuICAgICAgICAgICAgJChcIiNtZW51LXdlYnNpdGUgLm1lbnUtY29udGFpbmVyXCIpLmFkZENsYXNzKCdvcGVuLW1vYmlsZScpO1xyXG4gICAgICAgICAgICAvLyQoXCJib2R5XCIpLnN0b3AoKS50b2dnbGVDbGFzcyhcIm1lbnUtb3BlblwiKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJChcIi5tZW51LWNvbnRhaW5lclwiKS5vbignaGlkZS5icy5jb2xsYXBzZScsIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAvLyQoXCIubWVudS1jb250YWluZXJcIikuYW5pbWF0ZSh7ICdtYXJnaW4tbGVmdCc6ICctMTAwJScgfSk7XHJcbiAgICAgICAgICAgICQoXCIjbWVudS13ZWJzaXRlIC5tZW51LWNvbnRhaW5lclwiKS5yZW1vdmVDbGFzcygnb3Blbi1tb2JpbGUnKTtcclxuICAgICAgICAgICAgLy8kKFwiYm9keVwiKS5zdG9wKCkudG9nZ2xlQ2xhc3MoXCJtZW51LW9wZW5cIik7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vaG92ZXIgb24gbWVudSB3aXRoIHNsaWRlXHJcbiAgICAgICAgJCgnI21lbnUtd2Vic2l0ZSAuZHJvcGRvd24nKS5ob3ZlcihmdW5jdGlvbigpIHtcclxuXHJcbiAgICAgICAgICAgIGlmICghd2luZG93LnNldHRpbmdzLmlzX3RvdWNoX2RldmljZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAkKCcgLmRyb3Bkb3duLXRvZ2dsZScsIHRoaXMpLnRyaWdnZXIoJ2NsaWNrJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgZnVuY3Rpb24gc3ViTWVudUV2ZW50KGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGlmICgkKGRvY3VtZW50KS53aWR0aCgpIDw9IHdpbmRvdy5zZXR0aW5ncy50YWJSZXMpIHtcclxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTtcclxuXHJcbiAgICAgICAgICAgIGlmICgkdGhpcy5oYXNDbGFzcygnZHJvcGRvd24tc3VibWVudS1mb3VyJykgJiYgJChkb2N1bWVudCkud2lkdGgoKSA+IHMudGFiUmVzKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIG5hdmJhci5jbG9zZVN1YkRyb3Bkb3duKCk7IC8vY2xvc2VkIG9wZW4gc3ViRHJvcGRvd25cclxuXHJcbiAgICAgICAgICAgIGlmIChldmVudC50eXBlID09ICdtb3VzZWxlYXZlJykgLy8gZm9yIG1vdXNlIGxlYXZlLCByZXR1cm47XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJCh0aGlzKS50b2dnbGVDbGFzcyhcImFjdGl2ZVwiKS5maW5kKFwiPiAuZHJvcGRvd24tc3VibWVudS1jb250YWluZXJcIikudG9nZ2xlQ2xhc3MoXCJhY3RpdmVcIik7XHJcblxyXG4gICAgICAgICAgICBpZiAoJChkb2N1bWVudCkud2lkdGgoKSA8PSBzLnRhYlJlcykge1xyXG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSAkKHRoaXMpO1xyXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKFwiPiAuZHJvcGRvd24tc3VibWVudS1jb250YWluZXJcIikuc2xpZGVUb2dnbGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbiBjb21wbGV0ZSgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRpc3BsYXkgPSB0aGF0LmZpbmQoXCI+IC5kcm9wZG93bi1zdWJtZW51LWNvbnRhaW5lclwiKS5jc3MoJ2Rpc3BsYXknKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaXNwbGF5ID09ICdub25lJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5maW5kKCcuaWNvbi1leHBhbmQuZXhwYW5kZWQnKS5yZW1vdmVDbGFzcygnZXhwYW5kZWQnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuZmluZChcIi5kcm9wZG93bi1zdWJtZW51LWNvbnRhaW5lclwiKS5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJChcIi5pY29uLWV4cGFuZFwiKS5wYXJlbnQoKS5jbGljayhmdW5jdGlvbihldmVudCkge1xyXG4gICAgICAgICAgICAkKHRoaXMpLmZpbmQoJy5pY29uLWV4cGFuZCcpLnRvZ2dsZUNsYXNzKCdleHBhbmRlZCcpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKFwiLm1lbnUtd2Vic2l0ZSAubmF2YmFyLW5hdiAuZHJvcGRvd24tdG9nZ2xlXCIpLmNsaWNrKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICBpZiAoJChkb2N1bWVudCkud2lkdGgoKSA8IHMudGFiUmVzKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgZXhwYW5kZWQgPSAkKHRoaXMpLmF0dHIoJ2FyaWEtZXhwYW5kZWQnKTtcclxuICAgICAgICAgICAgICAgIGlmIChleHBhbmRlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gJCh0aGlzKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGF0LnBhcmVudCgpLmZpbmQoXCIuZHJvcGRvd24tc3VibWVudS1jb250YWluZXJcIikuc2xpZGVVcCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBmdW5jdGlvbiBjb21wbGV0ZSgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQucGFyZW50KCkuZmluZCgnLmljb24tZXhwYW5kLmV4cGFuZGVkJykucmVtb3ZlQ2xhc3MoJ2V4cGFuZGVkJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKFwibGkuZHJvcGRvd24tc3VibWVudVwiKS5ub3QoXCJsaS5kcm9wZG93bi1zdWJtZW51LmFjdGl2ZVwiKS5jbGljayhmdW5jdGlvbihlKSB7XHJcbiAgICAgICAgICAgIGlmICgkKGRvY3VtZW50KS53aWR0aCgpIDwgcy50YWJSZXMpIHtcclxuICAgICAgICAgICAgICAgIHN1Yk1lbnVFdmVudC5jYWxsKHRoaXMsIGUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLyogZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7ICovXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICAkKFwibGkuZHJvcGRvd24tc3VibWVudSB1bCBsaSA+IGFcIikubm90KFwibGkuZHJvcGRvd24tc3VibWVudSB1bCBsaS5kcm9wZG93bi1zdWJtZW51LWZvdXIgPiBhXCIpLmNsaWNrKGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICAgICAgaWYgKCQoZG9jdW1lbnQpLndpZHRoKCkgPCBzLnRhYlJlcykge1xyXG4gICAgICAgICAgICAgICAgLyogZS5wcmV2ZW50RGVmYXVsdCgpOyovXHJcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgJChcImxpLmRyb3Bkb3duLXN1Ym1lbnVcIikuaG92ZXIoZnVuY3Rpb24oZSkge1xyXG4gICAgICAgICAgICBpZiAoJChkb2N1bWVudCkud2lkdGgoKSA+PSBzLnRhYlJlcykge1xyXG4gICAgICAgICAgICAgICAgc3ViTWVudUV2ZW50LmNhbGwodGhpcywgZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvKiBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoJyNtZW51LXdlYnNpdGUgLmRyb3Bkb3duJykub24oJ3Nob3cuYnMuZHJvcGRvd24nLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgaWYgKCQoZG9jdW1lbnQpLndpZHRoKCkgPj0gcy50YWJSZXMpIHtcclxuICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnLmRyb3Bkb3duLW1lbnUnKS5maXJzdCgpLnN0b3AodHJ1ZSwgdHJ1ZSkuZmFkZUluKFwic2xvd1wiKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnLmRyb3Bkb3duLW1lbnUnKS5maXJzdCgpLnN0b3AodHJ1ZSwgdHJ1ZSkuc2xpZGVUb2dnbGUoXCJzbG93XCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIEFkZCBzbGlkZVVwIGFuaW1hdGlvbiB0byBCb290c3RyYXAgZHJvcGRvd24gd2hlbiBjb2xsYXBzaW5nLlxyXG4gICAgICAgICQoJyNtZW51LXdlYnNpdGUgLmRyb3Bkb3duJykub24oJ2hpZGUuYnMuZHJvcGRvd24nLCBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgaWYgKCQoZG9jdW1lbnQpLndpZHRoKCkgPj0gcy50YWJSZXMpIHtcclxuICAgICAgICAgICAgICAgIC8vJCh0aGlzKS5maW5kKCcuZHJvcGRvd24tbWVudScpLmZpcnN0KCkuc3RvcCh0cnVlLCB0cnVlKS5mYWRlT3V0KFwic2xvd1wiKTtcclxuICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnLmRyb3Bkb3duLW1lbnUnKS5maXJzdCgpLmhpZGUoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnLmRyb3Bkb3duLW1lbnUnKS5maXJzdCgpLnN0b3AodHJ1ZSwgdHJ1ZSkuc2xpZGVUb2dnbGUoXCJzbG93XCIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBuYXZiYXIuY2xvc2VTdWJEcm9wZG93bigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIGluaXRGb290ZXI6IGZ1bmN0aW9uIGluaXRGb290ZXIoKSB7XHJcbiAgICAgICAgdmFyIHMgPSB3aW5kb3cuc2V0dGluZ3M7XHJcbiAgICAgICAgJCh3aW5kb3cpLnJlc2l6ZShmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgaWYgKCQoZG9jdW1lbnQpLndpZHRoKCkgPCBzLm1vYmlsZVJlcykge1xyXG4gICAgICAgICAgICAgICAgJChcIi5mb290ZXItbWVudSAuZm9vdGVyLW5hdiA+IGxpXCIpLmZpcnN0KCkuY3NzKFwicGFkZGluZy1ib3R0b21cIiwgMCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgbWF4SGVpZ2h0ID0gMDtcclxuICAgICAgICAgICAgICAgICQoJy5mb290ZXItbWVudSAuZHJvcGRvd24ub3BlbiAuZHJvcGRvd24tbWVudScpLmVhY2goZnVuY3Rpb24oaSwgb2JqKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyICRvYmogPSAkKG9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9ICRvYmouaGVpZ2h0KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChoZWlnaHQgPiBtYXhIZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0ID0gaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChtYXhIZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4SGVpZ2h0ID0gbWF4SGVpZ2h0ICsgNjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAkKFwiLmZvb3Rlci1tZW51IC5mb290ZXItbmF2ID4gbGlcIikuZmlyc3QoKS5jc3MoXCJwYWRkaW5nLWJvdHRvbVwiLCBtYXhIZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoJy5mb290ZXItbWVudSAuZHJvcGRvd24nKS5vbignc2hvdy5icy5kcm9wZG93bicsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcgLmRyb3Bkb3duLW1lbnUnKS5maXJzdCgpLnN0b3AodHJ1ZSwgdHJ1ZSkuc2xpZGVEb3duKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCQoZG9jdW1lbnQpLndpZHRoKCkgPj0gcy5tb2JpbGVSZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAkKFwiaHRtbCwgYm9keVwiKS5hbmltYXRlKHsgc2Nyb2xsVG9wOiAkKHRoaXMpLm9mZnNldCgpLnRvcCAtIDU5IH0sIDEwMDApO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBkcm9wZG93bkhlaWdodCA9ICQodGhpcykuaGVpZ2h0KCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vJChcIi5mb290ZXItbWVudSAuZm9vdGVyLW5hdiA+IGxpXCIpLm5vdChcIjpudGgtbGFzdC1vZi10eXBlKC1uKzIpXCIpLmNzcyhcInBhZGRpbmctYm90dG9tXCIsIGRyb3Bkb3duSGVpZ2h0ICsgNjApO1xyXG4gICAgICAgICAgICAgICAgICAgICQoXCIuZm9vdGVyLW1lbnUgLmZvb3Rlci1uYXYgPiBsaVwiKS5maXJzdCgpLmNzcyhcInBhZGRpbmctYm90dG9tXCIsIGRyb3Bkb3duSGVpZ2h0ICsgNjApO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAkKCdodG1sLGJvZHknKS5hbmltYXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiAkKHRoaXMpLm9mZnNldCgpLnRvcCAtIDYwXHJcbiAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vU2xpZGluZyB1cCBhbmltYXRpb24gdG8gZHJvcGQtZG93biAgIFxyXG4gICAgICAgICQoJy5mb290ZXItbWVudSAuZHJvcGRvd24nKS5vbignaGlkZS5icy5kcm9wZG93bicsIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcgLmRyb3Bkb3duLW1lbnUnKS5maXJzdCgpLnN0b3AodHJ1ZSwgdHJ1ZSkuc2xpZGVVcCgpO1xyXG4gICAgICAgICAgICAkKFwiLmZvb3Rlci1tZW51IC5mb290ZXItbmF2ID4gbGlcIikuY3NzKFwicGFkZGluZy1ib3R0b21cIiwgXCIwXCIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59O1xyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBuYXZiYXI7IiwidmFyIG92ZXJsYXkgPSB7XHJcbiAgICBpbml0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICAkKFwiLm92ZXJsYXlcIikub24oXCJjbGlja1wiLCBmdW5jdGlvbihldmVudCkge1xyXG4gICAgICAgICAgICB3aW5kb3cuc2VhcmNoLmNsb3NlU2VhcmNoKCk7XHJcbiAgICAgICAgICAgIHdpbmRvdy5uYXZiYXIuY2xvc2VXZWJzaXRlTmF2KCk7XHJcbiAgICAgICAgICAgIHdpbmRvdy5uYXZiYXIuY2xvc2VVc2VyTmF2KCk7XHJcbiAgICAgICAgICAgIHdpbmRvdy5zaWRlYmFyLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIHdpbmRvdy5tYWlsLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICQoXCIub3ZlcmxheVwiKS5mYWRlT3V0KCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQod2luZG93KS5vbignc2Nyb2xsIHRvdWNobW92ZSBtb3VzZXdoZWVsJywgZnVuY3Rpb24oZSkge1xyXG4gICAgICAgICAgICBpZiAoJChlLnRhcmdldCkuaGFzQ2xhc3MoJ292ZXJsYXknKSkge1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IG92ZXJsYXk7IiwidmFyIHNlYXJjaCA9IHtcclxuICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICQoXCIuaWNvbi1zZWFyY2hcIikucGFyZW50KCkuY2xpY2soZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIHZhciB0aGF0ID0gJCh0aGlzKTtcclxuICAgICAgICAgICAgdGhhdC5wYXJlbnQoKS50b2dnbGVDbGFzcyhcIm9wZW5cIik7XHJcblxyXG4gICAgICAgICAgICAkKFwiLnNpZGUtaWNvbnMgLnNlYXJjaC1jb250YWluZXJcIikuZmFkZVRvZ2dsZSgpO1xyXG4gICAgICAgICAgICBzZWFyY2guc2VhcmNoRXZlbnQoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLyogc2VhcmNoIHJlc2l6ZSAqL1xyXG4gICAgICAgICQod2luZG93KS5yZXNpemUoc2VhcmNoLnNlYXJjaEV2ZW50KTtcclxuXHJcbiAgICAgICAgJCh3aW5kb3cpLm9uKCdzY3JvbGwgdG91Y2htb3ZlIG1vdXNld2hlZWwnLCBmdW5jdGlvbihlKSB7XHJcbiAgICAgICAgICAgIGlmICgoJChlLnRhcmdldCkucGFyZW50KCkuaGFzQ2xhc3MoJ3NlYXJjaC1jb250YWluZXInKSAmJiAkKHdpbmRvdykud2lkdGgoKSA8IHdpbmRvdy5zZXR0aW5ncy50YWJSZXMpKSB7XHJcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfSxcclxuICAgIHNlYXJjaEV2ZW50OiBmdW5jdGlvbiBzZWFyY2hFdmVudCgpIHtcclxuICAgICAgICB2YXIgdGhhdCA9ICQoXCIuaWNvbi1zZWFyY2hcIikucGFyZW50KCk7XHJcbiAgICAgICAgaWYgKHRoYXQucGFyZW50KCkuaGFzQ2xhc3MoXCJvcGVuXCIpKSB7XHJcbiAgICAgICAgICAgIGlmICgkKGRvY3VtZW50KS53aWR0aCgpIDwgd2luZG93LnNldHRpbmdzLnRhYlJlcykge1xyXG4gICAgICAgICAgICAgICAgdGhhdC5jbG9zZXN0KCcuc2lkZS1pY29ucycpLmZpbmQoJ2xpJykucmVtb3ZlQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgICAgICAgICAgICAgICAkKFwiaHRtbFwiKS5jc3MoXCJvdmVyZmxvd1wiLCBcImF1dG9cIik7XHJcbiAgICAgICAgICAgICAgICAkKFwiYm9keVwiKS5yZW1vdmVDbGFzcyhcInNpZGViYXItb3BlblwiKTtcclxuICAgICAgICAgICAgICAgICQoXCIuc2lkZWJhci1pdGVtXCIpLnJlbW92ZUNsYXNzKCdpdGVtLW9wZW4nKTtcclxuICAgICAgICAgICAgICAgICQoXCIub3ZlcmxheVwiKS5mYWRlSW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICQoXCIub3ZlcmxheVwiKS5mYWRlT3V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvKmlmICgkKCcub3ZlcmxheScpLmNzcygnZGlzcGxheScpID09ICdibG9jaycgJiYgJCh3aW5kb3cpLndpZHRoKCkgPCBzLm1vYmlsZVJlcyl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH0qL1xyXG5cclxuICAgICAgICAgICAgJChcIi5vdmVybGF5XCIpLmZhZGVPdXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAgY2xvc2VTZWFyY2g6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICQoXCIuaWNvbi1zZWFyY2hcIikuY2xvc2VzdCgnbGknKS5yZW1vdmVDbGFzcyhcIm9wZW5cIik7XHJcbiAgICAgICAgJChcIi5zaWRlLWljb25zIC5zZWFyY2gtY29udGFpbmVyXCIpLmhpZGUoKTtcclxuICAgIH1cclxufVxyXG5tb2R1bGUuZXhwb3J0cyA9IHNlYXJjaDsiLCJ2YXIgc2VsZWN0ID0ge1xyXG4gICAgaW5pdDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgJChcInNlbGVjdFwiKS5lYWNoKGZ1bmN0aW9uKGUpIHtcclxuICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTtcclxuICAgICAgICAgICAgaWYgKCR0aGlzLnZhbCgpKSB7XHJcbiAgICAgICAgICAgICAgICAkdGhpcy5hZGRDbGFzcygnaXRlbS1zZWxlY3RlZCcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHNlbGVjdDsiLCJ2YXIgc2V0dGluZ3MgPSB7XHJcbiAgICBtb2JpbGVSZXM6IDc2OCxcclxuICAgIHRhYlJlczogOTkyLFxyXG4gICAgaXNfdG91Y2hfZGV2aWNlOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gJ29udG91Y2hzdGFydCcgaW4gd2luZG93IC8vIHdvcmtzIG9uIG1vc3QgYnJvd3NlcnMgXHJcbiAgICAgICAgICAgIHx8XHJcbiAgICAgICAgICAgIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50czsgLy8gd29ya3Mgb24gSUUxMC8xMSBhbmQgU3VyZmFjZVxyXG4gICAgfVxyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHNldHRpbmdzOyIsInZhciBzLFxuICAgIHNpZGViYXIgPSB7XG4gICAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICAgICBtb2JpbGVSZXM6IDc2OCxcbiAgICAgICAgICAgIHRhYlJlczogOTkxLFxuICAgICAgICAgICAgbWF4UmVzOiAxNjAwLFxuICAgICAgICAgICAgc2NyZWVuUmVzOiAwXG4gICAgICAgIH0sXG4gICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgcyA9IHRoaXMuc2V0dGluZ3M7XG4gICAgICAgICAgICBzLnNjcmVlblJlcyA9ICQod2luZG93KS53aWR0aCgpO1xuICAgICAgICAgICAgc2lkZWJhci5ldmVudHMoKTtcblxuICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuXG4gICAgICAgICAgICAkKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIHZhciBuZXdSZXMgPSAkKHdpbmRvdykud2lkdGgoKTtcbiAgICAgICAgICAgICAgICBpZiAobmV3UmVzID4gcy50YWJSZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5yZUNhbGMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKCQod2luZG93KS53aWR0aCgpID49IHMubW9iaWxlUmVzKSB7XG4gICAgICAgICAgICAgICAgJChcIi5zdGlja3lfaXRlbVwiKS5zdGlja3koeyB0b3BTcGFjaW5nOiAwIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0sXG5cbiAgICAgICAgZXZlbnRzOiBmdW5jdGlvbigpIHtcblxuICAgICAgICAgICAgJChcIi50b2dnbGUtc2lkZWJhcjpub3QoLnRvZ2dsZS1mYilcIikuY2xpY2soZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcy5zY3JlZW5SZXMgPSAkKHdpbmRvdykud2lkdGgoKTtcblxuICAgICAgICAgICAgICAgIGlmIChzLnNjcmVlblJlcyA8PSBzLnRhYlJlcykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgY2xhc3NOYW1lID0gJCh0aGlzKS5hdHRyKCdjbGFzcycpLnNwbGl0KFwiIFwiKVswXTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNpZGViYXJJdGVtID0gJChcIi5zaWRlYmFyIC5cIiArIGNsYXNzTmFtZSkucGFyZW50KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJChcIi5pY29uLXNlYXJjaFwiKS5jbG9zZXN0KCdsaScpLnJlbW92ZUNsYXNzKFwib3BlblwiKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIi5zaWRlLWljb25zIC5zZWFyY2gtY29udGFpbmVyXCIpLmZhZGVPdXQoKTtcblxuICAgICAgICAgICAgICAgICAgICAkKFwiLm1vYmlsZS1pY29uXCIpLnBhcmVudCgpLm5vdCgkKHRoaXMpKS5yZW1vdmVDbGFzcyhcImFjdGl2ZVwiKTtcblxuICAgICAgICAgICAgICAgICAgICAkKFwiLnNpZGViYXItaXRlbVwiKS5ub3Qoc2lkZWJhckl0ZW0pLnJlbW92ZUNsYXNzKFwiaXRlbS1vcGVuXCIpO1xuICAgICAgICAgICAgICAgICAgICBzaWRlYmFySXRlbS50b2dnbGVDbGFzcyhcIml0ZW0tb3BlblwiKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQoXCIuc2lkZWJhci1pdGVtXCIpLmhhc0NsYXNzKFwiaXRlbS1vcGVuXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgpLmFkZENsYXNzKFwiYWN0aXZlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2lkZWJhci5vcGVuKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgpLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2lkZWJhci5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBhcmVudCA9ICQodGhpcykucGFyZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIHZhciBpc09wZW4gPSBwYXJlbnQuaGFzQ2xhc3MoXCJpdGVtLW9wZW5cIik7XG5cbiAgICAgICAgICAgICAgICAgICAgJChcIi5zaWRlYmFyLWl0ZW1cIikucmVtb3ZlQ2xhc3MoXCJpdGVtLW9wZW5cIik7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaWRlYmFyLm9wZW4oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudC5hZGRDbGFzcyhcIml0ZW0tb3BlblwiKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpZGViYXIuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8qJChcIi5zaWRlYmFyLWl0ZW1cIikubm90KCQodGhpcykucGFyZW50KCkpLnJlbW92ZUNsYXNzKFwiaXRlbS1vcGVuXCIpO1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgpLnRvZ2dsZUNsYXNzKFwiaXRlbS1vcGVuXCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoJChcIi5zaWRlYmFyLWl0ZW1cIikuaGFzQ2xhc3MoXCJpdGVtLW9wZW5cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpZGViYXIub3BlbigpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2lkZWJhci5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9Ki9cbiAgICAgICAgICAgICAgICAgICAgc2lkZWJhci5yZUNhbGMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb3BlbjogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAkKFwiaHRtbFwiKS5jc3MoXCJvdmVyZmxvd1wiLCBcImhpZGRlblwiKTtcbiAgICAgICAgICAgICQoXCIub3ZlcmxheVwiKS5mYWRlSW4oKTtcbiAgICAgICAgICAgICQoXCJib2R5XCIpLmFkZENsYXNzKFwic2lkZWJhci1vcGVuXCIpO1xuICAgICAgICB9LFxuICAgICAgICBjbG9zZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAkKFwiaHRtbFwiKS5jc3MoXCJvdmVyZmxvd1wiLCBcImF1dG9cIik7XG4gICAgICAgICAgICAkKFwiLm92ZXJsYXlcIikuZmFkZU91dCgpO1xuICAgICAgICAgICAgJChcImJvZHlcIikucmVtb3ZlQ2xhc3MoXCJzaWRlYmFyLW9wZW5cIik7XG5cblxuICAgICAgICAgICAgJChcIi5zaWRlYmFyLWl0ZW1cIikucmVtb3ZlQ2xhc3MoXCJpdGVtLW9wZW5cIik7XG4gICAgICAgICAgICAkKFwiYm9keVwiKS5yZW1vdmVDbGFzcyhcInNpZGViYXItb3BlblwiKTtcbiAgICAgICAgICAgICQoXCJodG1sXCIpLmNzcyhcIm92ZXJmbG93XCIsIFwiYXV0b1wiKTtcbiAgICAgICAgICAgICQoXCIub3ZlcmxheVwiKS5mYWRlT3V0KCk7XG4gICAgICAgICAgICAkKFwiLnN0aWNreV9pdGVtXCIpLnVuc3RpY2soKVxuICAgICAgICAgICAgJChcIi5zdGlja3lfaXRlbVwiKS5zdGlja3koKTtcbiAgICAgICAgICAgICQoXCIuc3RpY2t5X2l0ZW1cIikuc3RpY2t5KCd1cGRhdGUnKTtcbiAgICAgICAgfSxcbiAgICAgICAgcmVDYWxjOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICQoXCIuc3RpY2t5X2l0ZW1cIikudW5zdGljaygpXG4gICAgICAgICAgICAkKFwiLnN0aWNreV9pdGVtXCIpLnN0aWNreSgpO1xuICAgICAgICAgICAgJChcIi5zdGlja3lfaXRlbVwiKS5zdGlja3koJ3VwZGF0ZScpO1xuICAgICAgICB9XG4gICAgfTtcblxubW9kdWxlLmV4cG9ydHMgPSBzaWRlYmFyOyIsInZhciBzLFxuICAgIHNsaWRlciA9IHtcbiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAkKCcub3dsLWNhcm91c2VsLm1haW4tc2xpZGVyJykub3dsQ2Fyb3VzZWwoe1xuICAgICAgICAgICAgICAgIGl0ZW1zOiAxLFxuICAgICAgICAgICAgICAgIGF1dG9wbGF5OiAzMDAwLFxuICAgICAgICAgICAgICAgIGF1dG9QbGF5U3BlZWQ6IDMwMDAsXG4gICAgICAgICAgICAgICAgYXV0b1BsYXlUaW1lb3V0OiAzMDAwLFxuICAgICAgICAgICAgICAgIGxvb3A6IHRydWUsXG4gICAgICAgICAgICAgICAgZG90czogdHJ1ZSxcbiAgICAgICAgICAgICAgICBuYXY6IHRydWUsXG4gICAgICAgICAgICAgICAgcmV3aW5kTmF2OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzbWFydFNwZWVkOiA4MDBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAkKCcub3dsLWNhcm91c2VsLm1haW4tc2xpZGVyIC5vd2wtZG90cyAub3dsLWRvdCcpLmFkZENsYXNzKCdhbmltYXRpb24nKTtcbiAgICAgICAgfVxuICAgIH07XG5cbm1vZHVsZS5leHBvcnRzID0gc2xpZGVyOyIsInZhciBzLFxuICAgIHRhYnMgPSB7XG4gICAgICAgIHNldHRpbmdzOiB7fSxcbiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBzID0gdGhpcy5zZXR0aW5ncztcbiAgICAgICAgICAgICQoJ3VsLnRhYnMgbGknKS5jbGljayhmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICB2YXIgdGFiX2lkID0gJCh0aGlzKS5hdHRyKCdkYXRhLXRhYicpO1xuXG4gICAgICAgICAgICAgICAgJCgndWwudGFicyBsaScpLnJlbW92ZUNsYXNzKCdjdXJyZW50Jyk7XG4gICAgICAgICAgICAgICAgJCgnLnRhYi1jb250ZW50JykucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKTtcblxuICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2N1cnJlbnQnKTtcbiAgICAgICAgICAgICAgICAkKFwiI1wiICsgdGFiX2lkKS5hZGRDbGFzcygnY3VycmVudCcpO1xuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgJCgnLnRhYnMtY2Fyb3VzZWwnKS5vd2xDYXJvdXNlbCh7XG4gICAgICAgICAgICAgICAgZG90c0NvbnRhaW5lcjogJyNjYXJvdXNlbC1jdXN0b20tZG90cycsXG4gICAgICAgICAgICAgICAgaXRlbXM6IDEsXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMCxcbiAgICAgICAgICAgICAgICBkb3RzOiB0cnVlLFxuICAgICAgICAgICAgICAgIG5hdjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBuYXZUZXh0OiBbXCI8aW1nIHNyYz0nLi9pbWcvc2V0YS1sLXIucG5nJz5cIiwgXCI8aW1nIHNyYz0nLi9pbWcvc2V0YS1yLXIucG5nJz5cIl1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAkKCcub3dsLWRvdCcpLmNsaWNrKGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICQoJy5vd2wtZG90JykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xuICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xuICAgICAgICAgICAgICAgICQoJy50YWJzLWNhcm91c2VsJykudHJpZ2dlcigndG8ub3dsLmNhcm91c2VsJywgWyQodGhpcykuaW5kZXgoKSwgMzAwXSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZnVuY3Rpb24gY2hhbmdlSGVhZGVyKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgdmFyIHBvcyA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQubm9ybWFsaXplKGV2ZW50Lml0ZW0uaW5kZXgsIHRydWUpO1xuICAgICAgICAgICAgICAgIGlmICghJCgkKCcudGFicyAub3dsLWRvdCcpW3Bvc10pLmhhc0NsYXNzKCdhY3RpdmUnKSkge1xuICAgICAgICAgICAgICAgICAgICAkKCcudGFicyAub3dsLWRvdCcpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgICAgICAgICAgICAgJCgkKCcudGFicyAub3dsLWRvdCcpW3Bvc10pLmFkZENsYXNzKCdhY3RpdmUnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICQoJy50YWJzLWNhcm91c2VsIC5vd2wtZG90cyAub3dsLWRvdCcpLmFkZENsYXNzKCdhbmltYXRpb24nKTtcblxuICAgICAgICAgICAgJCgnLnRhYnMtY2Fyb3VzZWwnKS5vbignY2hhbmdlLm93bC5jYXJvdXNlbCcsIGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgY2hhbmdlSGVhZGVyKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIH1cbiAgICB9O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHRhYnM7IiwidmFyIHMsXHJcbiAgICB0YWJzU3RvcmUgPSB7XHJcbiAgICAgICAgc2V0dGluZ3M6IHt9LFxyXG4gICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICBzID0gdGhpcy5zZXR0aW5ncztcclxuICAgICAgICAgICAgJCgnLnRhYnNzdG9yZWNvbnRhaW5lciB1bC50YWJzIGxpJykuY2xpY2soZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgdGFiX2lkID0gJCh0aGlzKS5hdHRyKCdkYXRhLXRhYicpO1xyXG5cclxuICAgICAgICAgICAgICAgICQoJy50YWJzc3RvcmVjb250YWluZXIgdWwudGFicyBsaScpLnJlbW92ZUNsYXNzKCdjdXJyZW50Jyk7XHJcbiAgICAgICAgICAgICAgICAkKCcudGFic3N0b3JlY29udGFpbmVyIC50YWItY29udGVudCcpLnJlbW92ZUNsYXNzKCdjdXJyZW50Jyk7XHJcblxyXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnY3VycmVudCcpO1xyXG4gICAgICAgICAgICAgICAgJChcIiNcIiArIHRhYl9pZCkuYWRkQ2xhc3MoJ2N1cnJlbnQnKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxubW9kdWxlLmV4cG9ydHMgPSB0YWJzU3RvcmU7IiwiIHZhciB0cmFkZUxpc3QgPSB7XHJcbiAgICAgaW5pdDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICQoXCIubGVmdC1saXN0IGxpLCAucmlnaHQtbGlzdCBsaVwiKS5jbGljayhmdW5jdGlvbihlKSB7XHJcblxyXG4gICAgICAgICAgICAgaWYgKCFlLmN0cmxLZXkpIHtcclxuICAgICAgICAgICAgICAgICAkKFwiLmxlZnQtbGlzdCBsaSwgLnJpZ2h0LWxpc3QgbGlcIikucmVtb3ZlQ2xhc3MoXCJzZWxlY3RlZFwiKTtcclxuICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKFwic2VsZWN0ZWRcIik7XHJcbiAgICAgICAgIH0pO1xyXG4gICAgICAgICAkKFwiLmxlZnQtY2hhbmdlXCIpLmNsaWNrKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgdmFyIGl0ZW0gPSAkKHRoaXMpLmNsb3Nlc3QoJy5saXN0LXRyYWRlJykuZmluZChcIi5yaWdodC1saXN0IC5zZWxlY3RlZFwiKTtcclxuICAgICAgICAgICAgIGl0ZW0uYXBwZW5kVG8oJCh0aGlzKS5jbG9zZXN0KCcubGlzdC10cmFkZScpLmZpbmQoXCIubGVmdC1saXN0IHVsXCIpKTtcclxuICAgICAgICAgfSk7XHJcbiAgICAgICAgICQoXCIucmlnaHQtY2hhbmdlXCIpLmNsaWNrKGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgdmFyIGl0ZW0gPSAkKHRoaXMpLmNsb3Nlc3QoJy5saXN0LXRyYWRlJykuZmluZChcIi5sZWZ0LWxpc3QgLnNlbGVjdGVkXCIpO1xyXG4gICAgICAgICAgICAgaXRlbS5hcHBlbmRUbygkKHRoaXMpLmNsb3Nlc3QoJy5saXN0LXRyYWRlJykuZmluZChcIi5yaWdodC1saXN0IHVsXCIpKTtcclxuICAgICAgICAgfSk7XHJcbiAgICAgfVxyXG5cclxuIH1cclxuXHJcbiBtb2R1bGUuZXhwb3J0cyA9IHRyYWRlTGlzdDsiLCJ2YXIgdXBsb2FkID0ge1xyXG4gICAgaW5pdDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgJChkb2N1bWVudCkub24oXCJjbGlja1wiLCBcImZvcm0gLmZpbGVpbnB1dC1idXR0b25cIiwgZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgICQodGhpcykuY2xvc2VzdChcIi5kcm9wem9uZVwiKS5jbGljaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHVwbG9hZDsiXX0=\n"]}