2.4 sec in total
188 ms
2.2 sec
62 ms
Visit slidingdoorco.com now to see the best up-to-date Sliding Door Co content for United States and also check out these interesting facts you probably never knew about slidingdoorco.com
Visit slidingdoorco.comWe analyzed Slidingdoorco.com page load time and found that the first response time was 188 ms and then it took 2.2 sec to load all DOM resources and completely render a web page. This is quite a good result, as only 40% of websites can load faster.
slidingdoorco.com performance score
name
value
score
weighting
Value3.6 s
31/100
10%
Value22.4 s
0/100
25%
Value11.7 s
4/100
10%
Value770 ms
38/100
30%
Value0.002
100/100
15%
Value19.2 s
2/100
10%
188 ms
591 ms
31 ms
1 ms
13 ms
Our browser made a total of 119 requests to load all elements on the main page. We found that 29% of them (34 requests) were addressed to the original Slidingdoorco.com, 34% (41 requests) were made to and 26% (31 requests) were made to Devslidingdoor.wpengine.com. The less responsive or slowest element that took the longest time to load (1.1 sec) relates to the external source Devslidingdoor.wpengine.com.
Page size can be reduced by 1.2 MB (34%)
3.5 MB
2.3 MB
In fact, the total size of Slidingdoorco.com main page is 3.5 MB. This result falls beyond the top 1M of websites and identifies a large and not optimized web page that may take ages to load. 65% of websites need less resources to load. Images take 1.7 MB which makes up the majority of the site volume.
Potential reduce by 1.2 MB
HTML content can be minified and compressed by a website’s server. The most efficient way is to compress content using GZIP which reduces data amount travelling through the network between server and browser. This page needs HTML code to be minified as it can gain 161.9 kB, which is 11% of the original size. It is highly recommended that content of this web page should be compressed using GZIP, as it can save up to 1.2 MB or 85% of the original size.
Potential reduce by 0 B
Image size optimization can help to speed up a website loading time. The chart above shows the difference between the size before and after optimization. Sliding Door Co images are well optimized though.
Potential reduce by 3.5 kB
It’s better to minify JavaScript in order to improve website performance. The diagram shows the current total size of all JavaScript files against the prospective JavaScript size after its minification and compression. This website has mostly compressed JavaScripts.
Number of requests can be reduced by 26 (37%)
71
45
The browser has sent 71 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Sliding Door Co. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 27 to 1 for JavaScripts and as a result speed up the page load time.
slidingdoorco.com
188 ms
www.slidingdoorco.com
591 ms
bootstrap.bundle.min.js
31 ms
javascript;base64,Cgl2YXIgZ3RtNHdwX2RhdGFsYXllcl9uYW1lID0gImRhdGFMYXllciI7Cgl2YXIgZGF0YUxheWVyID0gZGF0YUxheWVyIHx8IFtdOwo=
1 ms
bootstrap.min.css
13 ms
owl.theme.default.min.css
21 ms
jquery.min.js
63 ms
e3b5d1457b37d47b8d26826c7263c01f.js
94 ms
javascript;base64,DQogIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOw0KICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9DQogIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7DQoNCiAgZ3RhZygnY29uZmlnJywgJ0FXLTY5Nzc5NzczNScpOw0K
45 ms
js
145 ms
javascript;base64,DQogIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOw0KICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9DQogIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7DQoNCiAgZ3RhZygnY29uZmlnJywgJ0ctTFZZTU5TVjk0WScpOw0K
44 ms
javascript;base64,DQogIGd0YWcoJ2NvbmZpZycsICdBVy02OTc3OTc3MzUvWC1qdENOZWFuTW9ERU9lWTNzd0MnLCB7DQogICAgJ3Bob25lX2NvbnZlcnNpb25fbnVtYmVyJzogJzg4OC45ODguNTAzMycNCiAgfSk7DQo=
45 ms
javascript;base64,DQogIWZ1bmN0aW9uKGUpe2lmKCF3aW5kb3cucGludHJrKXt3aW5kb3cucGludHJrPWZ1bmN0aW9uKCl7d2luZG93LnBpbnRyay5xdWV1ZS5wdXNoKA0KICAgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9O3Zhcg0KICAgbj13aW5kb3cucGludHJrO24ucXVldWU9W10sbi52ZXJzaW9uPSIzLjAiO3Zhcg0KICAgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTt0LmFzeW5jPSEwLHQuc3JjPWU7dmFyDQogICByPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTtyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQscil9fQ0KICAgKCJodHRwczovL3MucGluaW1nLmNvbS9jdC9jb3JlLmpzIik7IHBpbnRyaygnbG9hZCcsICcyNjEzOTAyMjAyODc3Jyk7IHBpbnRyaygncGFnZScpOw0KIA==
45 ms
javascript;base64,DQogcGludHJrKCd0cmFjaycsICdwYWdldmlzaXQnKTsNCg==
45 ms
javascript;base64,DQogcGludHJrKCd0cmFjaycsICdzaWdudXAnKTsNCg==
46 ms
javascript;base64,DQogcGludHJrKCd0cmFjaycsICdsZWFkJywgew0KICAgbGVhZF90eXBlOiAnTmV3c2xldHRlcicNCiB9KTsNCg==
46 ms
javascript;base64,DQogcGludHJrKCd0cmFjaycsICdzZWFyY2gnLCB7DQogICBzZWFyY2hfcXVlcnk6ICdkb29ycycNCiB9KTsNCg==
46 ms
javascript;base64,DQogcGludHJrKCd0cmFjaycsICd3YXRjaHZpZGVvJywgew0KICAgdmlkZW9fdGl0bGU6ICdUaGUgU2xpZGluZyBEb29yIENvbXBhbnkgRWxldmF0ZWQgTGlmZXN0eWxlJw0KIH0pOw0K
46 ms
javascript;base64,Cgl2YXIgZGF0YUxheWVyX2NvbnRlbnQgPSB7InBhZ2VQb3N0VHlwZSI6ImZyb250cGFnZSIsInBhZ2VQb3N0VHlwZTIiOiJzaW5nbGUtcGFnZSIsInBhZ2VQb3N0QXV0aG9yIjoiQWxtYSJ9OwoJZGF0YUxheWVyLnB1c2goIGRhdGFMYXllcl9jb250ZW50ICk7Cg==
46 ms
javascript;base64,CihmdW5jdGlvbih3LGQscyxsLGkpe3dbbF09d1tsXXx8W107d1tsXS5wdXNoKHsnZ3RtLnN0YXJ0JzoKbmV3IERhdGUoKS5nZXRUaW1lKCksZXZlbnQ6J2d0bS5qcyd9KTt2YXIgZj1kLmdldEVsZW1lbnRzQnlUYWdOYW1lKHMpWzBdLApqPWQuY3JlYXRlRWxlbWVudChzKSxkbD1sIT0nZGF0YUxheWVyJz8nJmw9JytsOicnO2ouYXN5bmM9dHJ1ZTtqLnNyYz0KJy8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bS5qcz9pZD0nK2krZGw7Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpOwp9KSh3aW5kb3csZG9jdW1lbnQsJ3NjcmlwdCcsJ2RhdGFMYXllcicsJ0dUTS01VERTR1ZLSycpOwo=
46 ms
javascript;base64,CgkJCWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc05hbWUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UoJ25vLWpzJywgJ2pzJyk7CgkJ
47 ms
javascript;base64,ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTmFtZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc05hbWUucmVwbGFjZSggJ25vLWpzJywgJ2pzJyApOw==
46 ms
Home-Products-Room-Dividers.jpg
586 ms
javascript;base64,CgogICAgZnVuY3Rpb24gaGlkZV9pdGVtKGVsKSB7CiAgICAgICAgZWwucmVtb3ZlQ2xhc3MoJ3Nob3dfaXRlbScpOwogICAgICAgIC8vIGVsLmZhZGVPdXQoNDAwKTsKICAgIH0KCiAgICBqUXVlcnkoZnVuY3Rpb24gKCQpIHsKCQlsZXQgdmlld193aWR0aCA9ICQod2luZG93KS5vdXRlcldpZHRoKCk7CgkJJCh3aW5kb3cpLm9uKCdyZXNpemUnLCBmdW5jdGlvbigpewoJCQl2aWV3X3dpZHRoID0gJCh3aW5kb3cpLm91dGVyV2lkdGgoKTsKCQl9KTsKCQkKICAgICAgICAvLyQoJy5tZWdhLWRyb3AtZG93bicpLm9uKCd0b3VjaHN0YXJ0JywgZnVuY3Rpb24oZSkgewogICAgICAgICQoJy5tZWdhLWRyb3AtZG93biA+IGEnKS5vbignY2xpY2snLCBmdW5jdGlvbihlKSB7CgkJCWlmKHZpZXdfd2lkdGggPCA3NjgpewoJCQkJLy92YXIgbWVnYURyb3BEb3duID0gJCh0aGlzKTsKCQkJCS8vdmFyIGVsID0gJCh0aGlzKS5maW5kKCcubWVnYS1tZW51Jyk7CgkJCQljb25zdCBtZWdhRHJvcERvd24gPSAkKHRoaXMpLnBhcmVudCgpOwoJCQkJY29uc3QgZWwgPSAkKHRoaXMpLnNpYmxpbmdzKCcubWVnYS1tZW51Jyk7CgkJCQlpZiggIW1lZ2FEcm9wRG93bi5oYXNDbGFzcygnaXNPcGVuJykgfHwgJCh0aGlzKS5oYXNDbGFzcygnZHJvbmRvd24taWNvbicpICl7CgkJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJCW1lZ2FEcm9wRG93bi5zaWJsaW5ncygnLm1lZ2EtZHJvcC1kb3duJykuZmluZCgnLm1lZ2EtbWVudScpLnJlbW92ZUNsYXNzKCdhbmltYXRlX19hbmltYXRlZCBhbmltYXRlX19mYWRlSW4gYW5pbWF0ZV9fZmFzdCBzaG93X2l0ZW0nKTsKCQkJCQltZWdhRHJvcERvd24uc2libGluZ3MoJy5tZWdhLWRyb3AtZG93bicpLmZpbmQoJy5taW51cy1pY29uJykuYWRkQ2xhc3MoJ3BsdXMtaWNvbicpOwoJCQkJCW1lZ2FEcm9wRG93bi5zaWJsaW5ncygnLm1lZ2EtZHJvcC1kb3duJykuZmluZCgnLm1pbnVzLWljb24nKS5yZW1vdmVDbGFzcygnbWludXMtaWNvbicpOwoKCQkJCQkvL2VsLnRvZ2dsZUNsYXNzKCdhbmltYXRlX19hbmltYXRlZCBhbmltYXRlX19mYWRlSW4gYW5pbWF0ZV9fZmFzdCBzaG93X2l0ZW0nKQoJCQkJCWlmKGVsLmhhc0NsYXNzKCdzaG93X2l0ZW0nKSl7CgkJCQkJCW1lZ2FEcm9wRG93bi5yZW1vdmVDbGFzcygnaXNPcGVuJyk7CgkJCQkJCWVsLnJlbW92ZUNsYXNzKCdhbmltYXRlX19hbmltYXRlZCBhbmltYXRlX19mYWRlSW4gYW5pbWF0ZV9fZmFzdCBzaG93X2l0ZW0nKTsKCQkJCQkJbWVnYURyb3BEb3duLmZpbmQoJy5taW51cy1pY29uJykuYWRkQ2xhc3MoJ3BsdXMtaWNvbicpOwoJCQkJCQltZWdhRHJvcERvd24uZmluZCgnLnBsdXMtaWNvbicpLnJlbW92ZUNsYXNzKCdtaW51cy1pY29uJyk7CgkJCQkJCWVsLmZpbmQoJy5tZWdhLW1lbnUtbGlua3MgaW1nJykuY3NzKCdvcGFjaXR5JywgJzAnKTsKCQkJCQl9IGVsc2UgewoJCQkJCQltZWdhRHJvcERvd24uYWRkQ2xhc3MoJ2lzT3BlbicpOwoJCQkJCQllbC5hZGRDbGFzcygnYW5pbWF0ZV9fYW5pbWF0ZWQgYW5pbWF0ZV9fZmFkZUluIGFuaW1hdGVfX2Zhc3Qgc2hvd19pdGVtJyk7CgkJCQkJCW1lZ2FEcm9wRG93bi5maW5kKCcucGx1cy1pY29uJykuYWRkQ2xhc3MoJ21pbnVzLWljb24nKTsKCQkJCQkJbWVnYURyb3BEb3duLmZpbmQoJy5taW51cy1pY29uJykucmVtb3ZlQ2xhc3MoJ3BsdXMtaWNvbicpOwoJCQkJCQllbC5maW5kKCcubWVnYS1tZW51LWxpbmtzIGltZycpLmNzcygnb3BhY2l0eScsICcxJyk7CgkJCQkJfQoJCQkJfSAKCQkJfSAKICAgICAgICAgICAgLy9lbC5hZGRDbGFzcygnc2hvd19pdGVtJyk7CiAgICAgICAgICAgIC8vJCgnLmNsb3NlLWljb24nKS50b2dnbGVDbGFzcygnc2hvd19pdGVtJyk7CgogICAgICAgICAgICAvL2VsLmZpbmQoJy5tZWdhLW1lbnUtbGlua3MgaW1nJykuY3NzKCdvcGFjaXR5JywgJzEnKTsKCiAgICAgICAgICAgIC8qaWYoICQodGhpcykuZmluZCgnLnBsdXMtaWNvbicpLmxlbmd0aCA+IDAgKSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJy5wbHVzLWljb24nKS5hZGRDbGFzcygnbWludXMtaWNvbicpOwogICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcubWludXMtaWNvbicpLnJlbW92ZUNsYXNzKCdwbHVzLWljb24nKTsKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJy5taW51cy1pY29uJykuYWRkQ2xhc3MoJ3BsdXMtaWNvbicpOwogICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcucGx1cy1pY29uJykucmVtb3ZlQ2xhc3MoJ21pbnVzLWljb24nKTsKICAgICAgICAgICAgICAgIGVsLnJlbW92ZUNsYXNzKCdzaG93X2l0ZW0nKTsKICAgICAgICAgICAgfSovCgogICAgICAgIH0pOwoKICAgICAgICAkKCcubWVnYS1kcm9wLWRvd24nKS5tb3VzZWVudGVyKGZ1bmN0aW9uIChlKSB7CgkJCWlmKHZpZXdfd2lkdGggPiA3NjcpewoJCQkJLy8gdmFyIGVsID0gJCh0aGlzKS5zaWJsaW5ncygnLm1lZ2EtbWVudScpOwoJCQkJdmFyIGVsID0gJCh0aGlzKS5maW5kKCcubWVnYS1tZW51Jyk7CgoJCQkJZWwuYWRkQ2xhc3MoJ2FuaW1hdGVfX2FuaW1hdGVkIGFuaW1hdGVfX2ZhZGVJbiBhbmltYXRlX19mYXN0IHNob3dfaXRlbScpCgkJCQkvL2VsLnRvZ2dsZUNsYXNzKCdzaG93X2l0ZW0nKTsKCQkJCWVsLmZpbmQoJy5tZWdhLW1lbnUtbGlua3MgaW1nJykuY3NzKCdvcGFjaXR5JywgJzEnKQoJCQl9CiAgICAgICAgfSk7CgkJJCgnLm1lZ2EtZHJvcC1kb3duJykubW91c2VsZWF2ZShmdW5jdGlvbiAoZSkgewoJCQlpZih2aWV3X3dpZHRoID4gNzY3KXsKCQkJCS8vIHZhciBlbCA9ICQodGhpcyk7CgkJCQl2YXIgZWwgPSAkKHRoaXMpLmZpbmQoJy5tZWdhLW1lbnUnKTsKCgkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCWVsLnJlbW92ZUNsYXNzKCdhbmltYXRlX19hbmltYXRlZCBhbmltYXRlX19mYWRlSW4gYW5pbWF0ZV9fZmFzdCBzaG93X2l0ZW0nKQoJCQkJfSwgMzAwKTsKCQkJfQogICAgICAgIH0pOwoJCQoKICAgICAgICAkKCcuY29sLW1kLXN1Yi1pbWcsIC5zdWItaW1nJykuaG92ZXIoZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgdmFyIGltYWdlcyA9ICQodGhpcykuc2libGluZ3MoKTsKICAgICAgICAgICAgdmFyIGVsID0gJCh0aGlzKTsKCiAgICAgICAgICAgIGVsLmNzcygnb3BhY2l0eScsICcxJyk7CgogICAgICAgICAgICBpbWFnZXMuZWFjaChmdW5jdGlvbiAoaSx2YWwpIHsKICAgICAgICAgICAgICAgICQodGhpcykuY3NzKCdvcGFjaXR5JywgJzAuNScpOwogICAgICAgICAgICB9KTsKICAgICAgICB9LCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciBpbWFnZXMgPSAkKHRoaXMpLnNpYmxpbmdzKCk7CiAgICAgICAgICAgIHZhciBlbCA9ICQodGhpcyk7CgogICAgICAgICAgICAvLyBlbC5jc3MoJ29wYWNpdHknLCAnMScpOwoKICAgICAgICAgICAgaW1hZ2VzLmVhY2goZnVuY3Rpb24gKGksdmFsKSB7CiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnb3BhY2l0eScsICcxJyk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwoKICAgICAgICAKCiAgICAgICAgLyp4TWVnYU1lbnUoJyNtZWdhLW1lbnUnLCB7CiAgICAgICAgICAgIHJlc3BvbnNlV2lkdGg6IDExMjQsCiAgICAgICAgICAgIGlzUnRsOiB0cnVlLAogICAgICAgICAgICBtYWluVGl0bGU6ICfwn5akIHhTdGFjayBtZW51IPCflqQnLAogICAgICAgICAgICBibHVyRWZmZWN0OiB0cnVlLAogICAgICAgICAgICBkaXNhYmxlTGlua3M6IHRydWUsCiAgICAgICAgICAgIGZpeGVkVG9wOiB0cnVlLAogICAgICAgICAgICBvbkNsb3NlU2lkZU1lbnU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjbG9zZWQnKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgb25PcGVuU2lkZU1lbnU6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdvcGVuZWQnKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOyovCgogICAgICAgICQoJy50b2dnbGUtbWVudScpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICQoJy5leG8tbWVudScpLnRvZ2dsZUNsYXNzKCdkaXNwbGF5Jyk7CgogICAgICAgICAgICAvKmlmKCAhJCgnLmxvZ28td3JhcHBlcicpLmhhc0NsYXNzKCdoaWRlX2l0ZW0nKSApIHsKICAgICAgICAgICAgICAgICQoJy5sb2dvLXdyYXBwZXInKS5hZGRDbGFzcygnaGlkZV9pdGVtJyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkKCcubG9nby13cmFwcGVyJykucmVtb3ZlQ2xhc3MoJ2hpZGVfaXRlbScpOwogICAgICAgICAgICB9Ki8KCiAgICAgICAgICAgICQodGhpcykuZmFkZU91dCgyMDApOwogICAgICAgICAgICAkKCcuY2xvc2UtaWNvbicpLmZhZGVJbig0MDApOwoKICAgICAgICB9KTsKCiAgICAgICAgJCgnLmNsb3NlLWljb24nKS5jbGljayhmdW5jdGlvbiAoZSkgewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgICAgICAgICAkKCcubWVnYS1tZW51JykucmVtb3ZlQ2xhc3MoJ3Nob3dfaXRlbScpOwoKICAgICAgICAgICAgJCgnLmV4by1tZW51JykudG9nZ2xlQ2xhc3MoJ2Rpc3BsYXknKTsKCiAgICAgICAgICAgIC8qaWYoICEkKCcubG9nby13cmFwcGVyJykuaGFzQ2xhc3MoJ2hpZGVfaXRlbScpICkgewogICAgICAgICAgICAgICAgJCgnLmxvZ28td3JhcHBlcicpLmFkZENsYXNzKCdoaWRlX2l0ZW0nKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICQoJy5sb2dvLXdyYXBwZXInKS5yZW1vdmVDbGFzcygnaGlkZV9pdGVtJyk7CiAgICAgICAgICAgIH0qLwoKICAgICAgICAgICAgJCgnLnRvZ2dsZS1tZW51JykuZmFkZUluKDQwMCk7CiAgICAgICAgICAgICQodGhpcykuZmFkZU91dCgyMDApOwogICAgICAgIH0pOwoKCiAgICB9KTsKCgoK
36 ms
TSDC_Logo-SteelDark-1.png
71 ms
Home-Products-Swing-Doors.jpg
82 ms
x-twitter.svg
84 ms
Home-Products-Closet-Doors.jpg
80 ms
Home-Products-Room-Dividers.jpg
85 ms
Home-Products-Barn-Doors.jpg
83 ms
Home-Products-Suspended-Doors.jpg
88 ms
2-Door-Bifold-White-Frame-Laminated-Glass-Solo-Bathroom.jpg
92 ms
Home-Products-Wall-slide-doors.jpg
94 ms
Home-Products-Fixed-Panels.jpg
95 ms
Home-Products-Qubiglass-Glass-Enclosures.jpg
117 ms
Home-Products-Fixed-Panels.jpg
571 ms
Home-Products-Closet-Doors.jpg
557 ms
Home-Products-Wall-slide-doors.jpg
499 ms
2-Door-Bifold-White-Frame-Laminated-Glass-Solo-Bathroom.jpg
557 ms
Home-Products-Barn-Doors.jpg
500 ms
Home-Products-Suspended-Doors.jpg
594 ms
Corporate-Thumbnail.png
746 ms
Hospitality1-2.jpg
675 ms
Coworking-Thumbnail.png
795 ms
Healthcare1-2.jpg
691 ms
PopUpKiosks-TSDChomepage-2ND-SQUARE.png
744 ms
Education1-2.jpg
748 ms
Multifamily1-2.jpg
805 ms
Museum-display-enclosure-glass-sliding-doors-2-1.jpg
769 ms
RoomDividers1-1-300x300.jpg
813 ms
Side-by-Side-Single-Open-Ended-Fixed-Panels-at-Stairs-to-Dining-Room-Black-Combo-Custom-Duo-Design-1-300x300.jpg
812 ms
ClosetDoors1.jpg
824 ms
Double-FTS-Wall-Slide-Black-Frame-Frosted-Glass-Single-Track-Solo-Design-Open-Staged-Best-1-300x300.jpg
840 ms
SwingDoors1-1-300x300.jpg
861 ms
Bi-Fold-Doors-Carousel-1-1-300x300.png
879 ms
BarnDoors1-1-300x300.jpg
878 ms
SuspendedDoors1-1-300x300.jpg
881 ms
Become-a-trade-partner.jpg
901 ms
Specs.png
927 ms
CAD.png
1048 ms
Revit.png
950 ms
Guides.png
949 ms
Arch-Binder-Thumbnail.jpg
1057 ms
Who-We-are-Thumbnail-NYC-Showroom.jpg
988 ms
Arch-Binder-Hezzyl-Marker-Whiteboard-Square-for-website.jpg
1055 ms
attributer.js
73 ms
143b17c30772416cd0b0662cb7e12da7.js
103 ms
owl.carousel.min.js
55 ms
4efad4a1298f99f18f2204d229082ee0.js
104 ms
smush-lazy-load.min.js
105 ms
8bb29240cf2568ba4d366224fd715258.js
104 ms
wp-polyfill.min.js
104 ms
f82a0e65865c030523b3f8628844d1e2.js
147 ms
javascript;base64,CndwLmkxOG4uc2V0TG9jYWxlRGF0YSggeyAndGV4dCBkaXJlY3Rpb25cdTAwMDRsdHInOiBbICdsdHInIF0gfSApOwo=
16 ms
b0da1b749ed01fe510980193e2688af5.js
146 ms
utils.min.js
145 ms
vendor-theme.min.js
144 ms
scripts-theme.min.js
144 ms
conditional_logic.min.js
146 ms
api.js
76 ms
acf98e047438c3b84c14ce29bfd30472.js
147 ms
javascript;base64,CgkJCWpRdWVyeShmdW5jdGlvbigkKXsKCQkJCWlmKCQoJyNpbnB1dF8xXzEyJykubGVuZ3RoID4gMCkgewoJCQkJCSQoJyNpbnB1dF8xXzEyJykuYXR0cigndmFsdWUnLCBkb2N1bWVudC50aXRsZSk7CgkJCQl9CgkJCQlpZigkKCcjaW5wdXRfNl8xMScpLmxlbmd0aCA+IDApIHsKCQkJCQkkKCcjaW5wdXRfNl8xMScpLmF0dHIoJ3ZhbHVlJywgZG9jdW1lbnQudGl0bGUpOwoJCQkJfQoJCQl9KTsKCQk=
15 ms
javascript;base64,CiAgICAgICAgalF1ZXJ5LmV2ZW50LnNwZWNpYWwudG91Y2hzdGFydCA9IHsKICAgICAgICAgICAgc2V0dXA6IGZ1bmN0aW9uIChfLCBucywgaGFuZGxlKSB7CiAgICAgICAgICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBoYW5kbGUsIHtwYXNzaXZlOiAhbnMuaW5jbHVkZXMoIm5vUHJldmVudERlZmF1bHQiKX0pOwogICAgICAgICAgICB9CiAgICAgICAgfTsKICAgIA==
15 ms
javascript;base64,CiAgICAgICAgICAgIGpRdWVyeShmdW5jdGlvbiAoJCkgewogICAgICAgICAgICAgICAgdmFyIGFkZENsYXNzT25TY3JvbGwgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHdpbmRvd1RvcCA9ICQod2luZG93KS5zY3JvbGxUb3AoKTsKICAgICAgICAgICAgICAgICAgICAkKCcucGFnZS1zZWN0aW9uJykuZWFjaChmdW5jdGlvbiAoaW5kZXgsIGVsZW0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9mZnNldFRvcCA9ICQoZWxlbSkub2Zmc2V0KCkudG9wOwogICAgICAgICAgICAgICAgICAgICAgICB2YXIgb3V0ZXJIZWlnaHQgPSAkKHRoaXMpLm91dGVySGVpZ2h0KHRydWUpOwoKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvd1RvcCA+IChvZmZzZXRUb3AgLSA1MCkgJiYgd2luZG93VG9wIDwgKG9mZnNldFRvcCArIG91dGVySGVpZ2h0KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVsZW1JZCA9ICQoZWxlbSkuYXR0cignaWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeSgiI21lbnUtcGFnZS1tZW51IGxpIGEuYWN0aXZlIikucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCIjbWVudS1wYWdlLW1lbnUgbGkgYVtocmVmPScjIiArIGVsZW1JZCArICInXSIpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfTsKCiAgICAgICAgICAgICAgICAvKiAkKHdpbmRvdykub24oJ3Njcm9sbCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGFkZENsYXNzT25TY3JvbGwoKTsKICAgICAgICAgICAgICAgIH0pOyAqLwogICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBhZGRDbGFzc09uU2Nyb2xsKCk7CiAgICAgICAgICAgICAgICB9LCB7cGFzc2l2ZTogdHJ1ZX0pOwoKICAgICAgICAgICAgfSk7CgogICAgICAgIA==
15 ms
javascript;base64,CgkJCS8qalF1ZXJ5KGZ1bmN0aW9uKCQpewoJCQkJJCgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iXScpLmZpcnN0KCkucmVtb3ZlKCk7CgkJCQljb25zb2xlLmxvZygnUmVtb3ZlZC4nKTsKCQkJfSk7Ki8KCQkJCgkJCXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKCQkJCWpRdWVyeSgnc2NyaXB0W3R5cGU9ImFwcGxpY2F0aW9uL2xkK2pzb24iXScpLmZpcnN0KCkucmVtb3ZlKCk7CgkJCQljb25zb2xlLmxvZygnUmVtb3ZlZCBmcm9tIHdpbmRvdy5vbmxvYWQgZXZlbnQuJyk7CgkJCX07CgkJ
16 ms
delay-load.min.js
144 ms
javascript;base64,CiAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShmdW5jdGlvbiAoJCkgewogICAgICAgICAgICAgICAgJCgnI3NraXAtaW50cm8nKS5jbGljayhmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICQoJy5pbnRyby1zbGlkZXItaG9tZScpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAkKCcuaGVhZGVyLmhvbWUtaGVhZGVyJykuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICQoJy5ob21lcGFnZS13cmFwcGVyJykuZmFkZUluKDIwMCk7CiAgICAgICAgICAgICAgICAgICAgJCgnYm9keScpLmFkZENsYXNzKCdob21lcGFnZXZpc2libGUnKTsKICAgICAgICAgICAgICAgICAgICBpZiAoalF1ZXJ5LmNvb2tpZSgnY29va2llLWludHJvJykgIT0gJzEnKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBleHBEYXRlID0gbmV3IERhdGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgZXhwRGF0ZS5zZXRUaW1lKGV4cERhdGUuZ2V0VGltZSgpICsgKDYwICogNjAgKiAxMDAwKSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS5jb29raWUoJ2Nvb2tpZS1pbnRybycsICcxJywge2V4cGlyZXM6IGV4cERhdGV9KTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgJCgnI3doeS11cy1zbGlkZXIgLnNsaWNrLWFjdGl2ZScpLmZpbmQoJ3ZpZGVvJykuYWRkQ2xhc3MoJ3Nob3ctdmlkZW8nKTsKICAgICAgICAgICAgICAgICAgICB2YXIgdmlkZW8gPSAkKCcjd2h5LXVzLXNsaWRlciAuc2xpY2stYWN0aXZlJykuZmluZCgidmlkZW8iKS5nZXQoMCk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHZpZGVvICE9IG51bGwpIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW8ucGxheSgpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkKCcjY29va2llLWxhdy1pbmZvLWJhcicpLnRvZ2dsZUNsYXNzKCdjb29raWVfc2hvdycpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIA==
14 ms
javascript;base64,CiAgICAgICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7CiAgICAgICAgICAgIGlmIChqUXVlcnkoIi5nYWxsZXJ5LXNsaWRlciIpLmxlbmd0aCkgewogICAgICAgICAgICAgICAgalF1ZXJ5KCIuc2Nyb2xsLWRvd24iKS5jbGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCdodG1sLCBib2R5JykuYW5pbWF0ZSh7c2Nyb2xsVG9wOiBqUXVlcnkoIi5nYWxsZXJ5LXNsaWRlciIpLm9mZnNldCgpLnRvcH0sIDIwMDApOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB2YXIgJHNsaWRlciA9ICQoJyNnYWxsZXJ5LXNsaWRlcicpOwogICAgICAgICAgICAgICAgaWYgKCRzbGlkZXIubGVuZ3RoKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRTbGlkZTsKICAgICAgICAgICAgICAgICAgICB2YXIgc2xpZGVzQ291bnQ7CiAgICAgICAgICAgICAgICAgICAgdmFyIHNsaWRlckNvdW50ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICAgICAgICAgICAgICBzbGlkZXJDb3VudGVyLmNsYXNzTGlzdC5hZGQoJ3NsaWRlcl9fY291bnRlcicpOwogICAgICAgICAgICAgICAgICAgIHZhciB1cGRhdGVTbGlkZXJDb3VudGVyID0gZnVuY3Rpb24gKHNsaWNrLCBjdXJyZW50SW5kZXgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFNsaWRlID0gc2xpY2suc2xpY2tDdXJyZW50U2xpZGUoKSArIDE7CiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc0NvdW50ID0gc2xpY2suc2xpZGVDb3VudDsKICAgICAgICAgICAgICAgICAgICAgICAgJChzbGlkZXJDb3VudGVyKS50ZXh0KGN1cnJlbnRTbGlkZSArICcvJyArIHNsaWRlc0NvdW50KQogICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgJHNsaWRlci5vbignaW5pdCcsIGZ1bmN0aW9uIChldmVudCwgc2xpY2spIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHNsaWRlci5hcHBlbmQoc2xpZGVyQ291bnRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNsaWRlckNvdW50ZXIoc2xpY2spOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICRzbGlkZXIub24oJ2FmdGVyQ2hhbmdlJywgZnVuY3Rpb24gKGV2ZW50LCBzbGljaywgY3VycmVudFNsaWRlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNsaWRlckNvdW50ZXIoc2xpY2ssIGN1cnJlbnRTbGlkZSk7CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgJHNsaWRlci5zbGljaygpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICA=
13 ms
javascript;base64,CiAgICAgICAgICAgICAgICBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uICgkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGZhbHNlKSB7IC8vIGpRdWVyeS5jb29raWUoJ2Nvb2tpZS1pbnRybycpICE9ICcxJwoKICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcuaW50cm8tc2xpZGVyLWhvbWUnKS5mYWRlSW4oMjAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcuaG9tZXBhZ2Utd3JhcHBlcicpLmhpZGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5pbnRyby1sYXN0Jyk7CgogICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeSgnLmludHJvLXNsaWRlci1ob21lJykuZmFkZU91dCgyMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcuaG9tZXBhZ2Utd3JhcHBlcicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeSgnYm9keScpLmFkZENsYXNzKCdob21lcGFnZXZpc2libGUnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeSgnLmhlYWRlci5ob21lLWhlYWRlcicpLmZhZGVJbigyMDApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBleHBEYXRlID0gbmV3IERhdGUoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBEYXRlLnNldFRpbWUoZXhwRGF0ZS5nZXRUaW1lKCkgKyAoNjAgKiA2MCAqIDEwMDApKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeS5jb29raWUoJ2Nvb2tpZS1pbnRybycsICcxJywgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXM6IGV4cERhdGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2Nvb2tpZS1sYXctaW5mby1iYXInKS50b2dnbGVDbGFzcygnY29va2llX3Nob3cnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcuaW50cm8tc2xpZGVyLWhvbWUnKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeSgnLmhlYWRlci5ob21lLWhlYWRlcicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcuaG9tZXBhZ2Utd3JhcHBlcicpLmZhZGVJbigyMDApOwogICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoJ2JvZHknKS5hZGRDbGFzcygnaG9tZXBhZ2V2aXNpYmxlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJyNjb29raWUtbGF3LWluZm8tYmFyJykudG9nZ2xlQ2xhc3MoJ2Nvb2tpZV9zaG93Jyk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIA==
14 ms
javascript;base64,CiAgICAgICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7CiAgICAgICAgICAgIHZhciBmcmFnbWVudCA9IHdpbmRvdy5sb2NhdGlvbi5oYXNoOwogICAgICAgICAgICBjb25zb2xlLmxvZyhmcmFnbWVudCk7CiAgICAgICAgICAgIGlmIChmcmFnbWVudCAhPSAnJykgewogICAgICAgICAgICAgICAgdmFyIG1lbnVfaXRlbSA9ICQoJ2FbaHJlZj0iJyArIGZyYWdtZW50ICsgJyJdJyk7CiAgICAgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1lbnVfaXRlbS5hdHRyKCdpZCcpKTsKICAgICAgICAgICAgICAgIG1lbnVfaXRlbS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHsKICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHtiZWhhdmlvcjogInNtb290aCIsIGJsb2NrOiAiY2VudGVyIiwgaW5saW5lOiAiY2VudGVyIn0pOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAg
14 ms
javascript;base64,CiAgICAgICAgLy8gQWRkIEdldCBRdW90ZSB0byBtZW51IGl0ZW0gY3VzdG9tIGVsZW1lbnQKICAgICAgICBqUXVlcnkoZnVuY3Rpb24gKCQpIHsKICAgICAgICAgICAgJCgnLm1lbnUtaXRlbSBhJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwogICAgICAgICAgICAkKCcjbWVudS1pdGVtLTI0IGEnKS5hZGRDbGFzcygnYWN0aXZlJyk7CiAgICAgICAgICAgICQoJyNtZW51LWl0ZW0tMjkgYScpLmNsaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICQoJCh0aGlzKS5maW5kKCdzcGFuLnRleHQnKS5kYXRhKCd0YXJnZXQnKSkubW9kYWwoJ3Nob3cnKQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIA==
13 ms
javascript;base64,CiAgICAgICAgLy8hIE1vZGFsIG1lbnUKICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1tb2RhbC1tZW51JykubGF6eWxvYWQoewogICAgICAgICAgICB0aHJlc2hvbGQ6IDIwMCwKICAgICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnQuZmFkZU91dCgwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlSW4oNDAwKTsKICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZnVuY3Rpb24gKCQpIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICQoIi50b2dnbGUtc2lkZSIpLmNsaWNrKChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCIud2hpdGUtc2lkZWJhciIpLnRvZ2dsZUNsYXNzKCJzaG93IikKICAgICAgICAgICAgICAgICAgICAgICAgfSkpLCAkKCIuY2xvc2UtaWNvbiIpLmNsaWNrKChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCIud2hpdGUtc2lkZWJhciIpLnRvZ2dsZUNsYXNzKCJzaG93IikKICAgICAgICAgICAgICAgICAgICAgICAgfSkpOwoKCiAgICAgICAgICAgICAgICAgICAgICAgICQoIi5jbG9zZS1idG4taWNvbiIpLmNsaWNrKChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCIuY29sbGFwc2UiKS5yZW1vdmVDbGFzcygic2hvdyIpLCAkKCIuYnRuLWxpbmsgIikuYWRkQ2xhc3MoImNvbGxhcHNlZCIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSwgJCgiLnVwbG9hZC1yZXN1bWUiKS5jbGljaygoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgiLnVwbG9hZC1maWxlIikuY2xpY2soKQogICAgICAgICAgICAgICAgICAgICAgICB9KSk7CgoKICAgICAgICAgICAgICAgICAgICAgICAgJCgiLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gYSIpLm9uKCJjbGljayIsIChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmhhc0NsYXNzKCJtaW51cyIpID8gJCh0aGlzKS5yZW1vdmVDbGFzcygibWludXMiKSA6ICgkKCJhLm1pbnVzIikucmVtb3ZlQ2xhc3MoIm1pbnVzIiksICQodGhpcykuYWRkQ2xhc3MoIm1pbnVzIikpCiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0gd2luZG93LmxvY2F0aW9uLmhhc2g7CiAgICAgICAgICAgICAgICAgICAgICAgICIiICE9IGUgJiYgJChlICsgIiB1bCIpLnNob3coKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICQoIi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIGEiKS5jbGljaygoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5zaWJsaW5ncygiLnN1Yi1tZW51IikudG9nZ2xlKCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkpOwoKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAogICAgICAgICAgICB0cmlnZ2VyOiAiYXBwZWFyIgogICAgICAgIH0pOwoKCiAgICAgICAgalF1ZXJ5KCcubGF6eWxvYWQtY2hhdGluYycpLmxhenlsb2FkKHsKICAgICAgICAgICAgdGhyZXNob2xkOiAxMDAsCiAgICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgICAgICAgICBlbGVtZW50LmZhZGVPdXQoMCwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmFkZUluKDQwMCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgdHJpZ2dlcjogImNsaWNrIgogICAgICAgIH0pOwogICAgICAgIC8qalF1ZXJ5KCcubGF6eWxvYWQtcGludGVyZXN0JykubGF6eWxvYWQoewogICAgICAgICAgICB0aHJlc2hvbGQ6IDIwMCwKICAgICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnQuZmFkZU91dCgwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlSW4oNDAwKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAogICAgICAgICAgICB0cmlnZ2VyOiAiY2xpY2siCiAgICAgICAgfSk7Ki8KICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1ndGFnJykubGF6eWxvYWQoewogICAgICAgICAgICB0aHJlc2hvbGQ6IDMwMCwKICAgICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnQuZmFkZU91dCgwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlSW4oNDAwKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAogICAgICAgICAgICB0cmlnZ2VyOiAiY2xpY2siCiAgICAgICAgfSk7CiAgICAgICAgalF1ZXJ5KCcubGF6eWxvYWQtZ2V0Y2xpY2t5JykubGF6eWxvYWQoewogICAgICAgICAgICB0aHJlc2hvbGQ6IDQwMCwKICAgICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnQuZmFkZU91dCgwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlSW4oNDAwKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAogICAgICAgICAgICB0cmlnZ2VyOiAiY2xpY2siCiAgICAgICAgfSk7CiAgICAgICAgalF1ZXJ5KCcubGF6eWxvYWQtbGlua2VkaW4nKS5sYXp5bG9hZCh7CiAgICAgICAgICAgIHRocmVzaG9sZDogNDAwLAogICAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZWxlbWVudCkgewogICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlT3V0KDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZhZGVJbig0MDApOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHRyaWdnZXI6ICJjbGljayIKICAgICAgICB9KTsKICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC13YWRhJykubGF6eWxvYWQoewogICAgICAgICAgICB0aHJlc2hvbGQ6IDQwMCwKICAgICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnQuZmFkZU91dCgwLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlSW4oNDAwKTsKCiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcud3AtYWRhLWNvbXBsaWFuY2UtYWNjZXNzaWJpbGl0eS13aWRnZXQtaGlkZScpLmNsaWNrKGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeSgnLndwLWFkYS1jb21wbGlhbmNlLWFjY2Vzc2liaWxpdHktd2lkZ2V0JykuZmFkZU91dCg0MDApOwogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHRyaWdnZXI6ICJjbGljayIKICAgICAgICB9KTsKICAgICAgICAvKiBqUXVlcnkoJy5sYXp5bG9hZC1tb2JpbGUtaW50cm8nKS5sYXp5bG9hZCh7CiAgICAgICAgICAgIHRocmVzaG9sZDogNDAwLAogICAgICAgICAgICBsb2FkOiBmdW5jdGlvbihlbGVtZW50KSB7CiAgICAgICAgICAgICAgICBlbGVtZW50LmZhZGVPdXQoMCwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gZWxlbWVudC5mYWRlSW4oNDAwKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAogICAgICAgICAgICB0cmlnZ2VyOiAiYXBwZWFyIgogICAgICAgIH0pOyAqLwoKICAgICAgICAvKmpRdWVyeSgnLmx6bC1jaG9vemxlJykubGF6eWxvYWQoewogICAgICAgICAgICB0aHJlc2hvbGQ6IDQwMCwKICAgICAgICAgICAgbG9hZDogZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlT3V0KDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIC8vIGVsZW1lbnQuZmFkZUluKDQwMCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgdHJpZ2dlcjogImFwcGVhciIKICAgICAgICB9KTsqLwogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgalF1ZXJ5KCcubGF6eWxvYWQtZ3RhZycpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgIGpRdWVyeSgnLmxhenlsb2FkLWNoYXRpbmMnKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1waW50ZXJlc3QnKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1nZXRjbGlja3knKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1saW5rZWRpbicpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgICAgIGpRdWVyeSgnLmxhenlsb2FkLXdhZGEnKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgIH0sIHtwYXNzaXZlOiB0cnVlfSk7CiAgICA=
13 ms
javascript;base64,CiAgICAgICAgICAgIChmdW5jdGlvbiAoJCkgewogICAgICAgICAgICAgICAgZnVuY3Rpb24gaXNJblZpZXdwb3J0KGVsKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAocmVjdC50b3AgPj0gMCAmJiByZWN0LmxlZnQgPj0gMCAmJiByZWN0LmJvdHRvbSA8PSAod2luZG93LmlubmVySGVpZ2h0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpICYmIHJlY3QucmlnaHQgPD0gKHdpbmRvdy5pbm5lcldpZHRoIHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCkpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGVsZW1lbnRJblZpZXdwb3J0KGVsKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIHRvcCA9IGVsLm9mZnNldFRvcDsKICAgICAgICAgICAgICAgICAgICB2YXIgbGVmdCA9IGVsLm9mZnNldExlZnQ7CiAgICAgICAgICAgICAgICAgICAgdmFyIHdpZHRoID0gZWwub2Zmc2V0V2lkdGg7CiAgICAgICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IGVsLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgICAgICAgICB3aGlsZSAoZWwub2Zmc2V0UGFyZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsID0gZWwub2Zmc2V0UGFyZW50OwogICAgICAgICAgICAgICAgICAgICAgICB0b3AgKz0gZWwub2Zmc2V0VG9wOwogICAgICAgICAgICAgICAgICAgICAgICBsZWZ0ICs9IGVsLm9mZnNldExlZnQ7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHRvcCArPSA1MDA7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICh0b3AgPCAod2luZG93LnBhZ2VZT2Zmc2V0ICsgd2luZG93LmlubmVySGVpZ2h0KSAmJiBsZWZ0IDwgKHdpbmRvdy5wYWdlWE9mZnNldCArIHdpbmRvdy5pbm5lcldpZHRoKSAmJiAodG9wICsgaGVpZ2h0KSA+IHdpbmRvdy5wYWdlWU9mZnNldCAmJiAobGVmdCArIHdpZHRoKSA+IHdpbmRvdy5wYWdlWE9mZnNldCk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgZnVuY3Rpb24gZWxlbWVudEluVmlld3BvcnRVcChlbCkgewogICAgICAgICAgICAgICAgICAgIHZhciB0b3AgPSBlbC5vZmZzZXRUb3A7CiAgICAgICAgICAgICAgICAgICAgdmFyIGxlZnQgPSBlbC5vZmZzZXRMZWZ0OwogICAgICAgICAgICAgICAgICAgIHZhciB3aWR0aCA9IGVsLm9mZnNldFdpZHRoOwogICAgICAgICAgICAgICAgICAgIHZhciBoZWlnaHQgPSBlbC5vZmZzZXRIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGVsLm9mZnNldFBhcmVudCkgewogICAgICAgICAgICAgICAgICAgICAgICBlbCA9IGVsLm9mZnNldFBhcmVudDsKICAgICAgICAgICAgICAgICAgICAgICAgdG9wICs9IGVsLm9mZnNldFRvcDsKICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCArPSBlbC5vZmZzZXRMZWZ0OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB0b3AgLT0gNTAwOwogICAgICAgICAgICAgICAgICAgIHJldHVybiAodG9wIDwgKHdpbmRvdy5wYWdlWU9mZnNldCArIHdpbmRvdy5pbm5lckhlaWdodCkgJiYgbGVmdCA8ICh3aW5kb3cucGFnZVhPZmZzZXQgKyB3aW5kb3cuaW5uZXJXaWR0aCkgJiYgKHRvcCArIGhlaWdodCkgPiB3aW5kb3cucGFnZVlPZmZzZXQgJiYgKGxlZnQgKyB3aWR0aCkgPiB3aW5kb3cucGFnZVhPZmZzZXQpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHZhciBzaG93biA9IGZhbHNlOwogICAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gJCgiI3ByaW1hcnkiKTsKICAgICAgICAgICAgICAgIGNvbnN0IHNsaWRlciA9ICQoIiN3aHktdXMtc2xpZGVyIikuc2xpY2soewogICAgICAgICAgICAgICAgICAgIGRvdHM6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgIGFycm93czogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgZmFkZTogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDEsCiAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TY3JvbGw6IDEsCiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFNsaWRlOiAwLAogICAgICAgICAgICAgICAgICAgIHNwZWVkOiA3MDAuCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHNsaWRlci5vbignaW5pdCcsIGZ1bmN0aW9uIChzbGljaykgewogICAgICAgICAgICAgICAgICAgICQoJyN3aHktdXMtc2xpZGVyIC5zbGljay1hY3RpdmUnKS5maW5kKCd2aWRlbycpLmFkZENsYXNzKCdzaG93LXZpZGVvJyk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIHZhciB2aWRlbyA9ICQoJyN3aHktdXMtc2xpZGVyIC5zbGljay1hY3RpdmUnKS5maW5kKCJ2aWRlbyIpLmdldCgwKTsKICAgICAgICAgICAgICAgIGlmICh2aWRlbyAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgdmlkZW8ucGxheSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgbGV0IGkgPSAwOwogICAgICAgICAgICAgICAgbGV0IHNsaWRlID0gMDsKICAgICAgICAgICAgICAgIGNvbnRhaW5lci5vbignd2hlZWwnLCAoZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygkKHdpbmRvdykuc2Nyb2xsVG9wKCkpOwogICAgICAgICAgICAgICAgICAgIGlmICgkKHdpbmRvdykuc2Nyb2xsVG9wKCkgPD0gMzI1MCAmJiAkKHdpbmRvdykuc2Nyb2xsVG9wKCkgPj0gMjYwMCkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCcud2h5LXVzLWxlZnQnKS5zaG93KDIwMCkuYWRkQ2xhc3MoJ2FuaW1hdGVfX2FuaW1hdGVkIGFuaW1hdGVfX2ZhZGVJbicpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcud2h5LXVzLXJpZ2h0Jykuc2hvdygyMDApLmFkZENsYXNzKCdhbmltYXRlX19hbmltYXRlZCBhbmltYXRlX19mYWRlSW4nKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KSkKICAgICAgICAgICAgfSkoalF1ZXJ5KTsKCiAgICAgICAgICAgIC8qIGpRdWVyeSgnLmxhenlsb2FkLWludHJvJykubGF6eWxvYWQoewogICAgICAgICAgICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDQwMCwKICAgICAgICAgICAgICAgICAgICAgICAgbG9hZDogZnVuY3Rpb24oZWxlbWVudCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlT3V0KDAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVsZW1lbnQuc2hvdygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXI6ICJhcHBlYXIiCiAgICAgICAgICAgICAgICAgICAgfSk7ICovCiAgICAgICAg
13 ms
javascript;base64,CiAgICAgICAgICAgIGpRdWVyeShmdW5jdGlvbiAoJCkgewogICAgICAgICAgICAgICAgJCgnI2NsaWVudHNfc2xpZGVyX2Rlc2t0b3AnKS5vd2xDYXJvdXNlbCh7CiAgICAgICAgICAgICAgICAgICAgbG9vcDp0cnVlLAogICAgICAgICAgICAgICAgICAgIG1hcmdpbjoxMCwKICAgICAgICAgICAgICAgICAgICBuYXY6dHJ1ZSwKICAgICAgICAgICAgICAgICAgICByZXNwb25zaXZlOnsKICAgICAgICAgICAgICAgICAgICAgICAgMDp7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczoxCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIDYwMDp7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczozCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgIDEwMDA6ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6NQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwogICAgICAgIA==
12 ms
javascript;base64,CiAgICAgICAgalF1ZXJ5KCcuc2xpZGVyLWZvcicpLnNsaWNrKHsKICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAxLAogICAgICAgICAgICBzbGlkZXNUb1Njcm9sbDogMSwKICAgICAgICAgICAgYXJyb3dzOiBmYWxzZSwKICAgICAgICAgICAgaW5maW5pdGU6IGZhbHNlLAogICAgICAgICAgICBmYWRlOiB0cnVlLAogICAgICAgICAgICBhZGFwdGl2ZUhlaWdodDogdHJ1ZSwKICAgICAgICAgICAgYXNOYXZGb3I6ICcuc2xpZGVyLW5hdicsCiAgICAgICAgICAgIGluaXRpYWxTbGlkZTogMQogICAgICAgIH0pOwoKICAgICAgICAvKiBqUXVlcnkoJy5wcm9kdWN0cy1wYWdlLXNsaWRlcicpLnNsaWNrKHsKICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAxLAogICAgICAgICAgICBzbGlkZXNUb1Njcm9sbDogMSwKICAgICAgICAgICAgYXJyb3dzOiBmYWxzZSwKICAgICAgICAgICAgaW5maW5pdGU6IGZhbHNlLAogICAgICAgICAgICBmYWRlOiB0cnVlLAogICAgICAgICAgICBhZGFwdGl2ZUhlaWdodDogdHJ1ZSwKICAgICAgICAgICAgaW5pdGlhbFNsaWRlOiAxLAogICAgICAgICAgICAvLyBsdHI6IHRydWUsCiAgICAgICAgICAgIGFzTmF2Rm9yOiAnLnByb2R1Y3RzLXBhZ2Utc2xpZGVyLW5hdicKICAgICAgICB9KTsgKi8KCiAgICAgICAgalF1ZXJ5KCcuc2xpZGVyX29uZV9yZXRhaWwnKS5zbGljayh7CiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogMSwKICAgICAgICAgICAgc2xpZGVzVG9TY3JvbGw6IDEsCiAgICAgICAgICAgIGFycm93czogZmFsc2UsCiAgICAgICAgICAgIGluZmluaXRlOiB0cnVlLAogICAgICAgICAgICBmYWRlOiB0cnVlLAogICAgICAgICAgICBhZGFwdGl2ZUhlaWdodDogdHJ1ZSwKICAgICAgICAgICAgYXNOYXZGb3I6ICcuc2xpZGVyLW5hdi1yZXRhaWwnCiAgICAgICAgfSk7CiAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneXQtcGxheWVyLWFwaScpKSB7CiAgICAgICAgICAgIHZhciB0YWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKICAgICAgICAgICAgdGFnLmlkID0gJ3l0LXBsYXllci1hcGknOwogICAgICAgICAgICB0YWcuc3JjID0gImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3BsYXllcl9hcGkiOwogICAgICAgICAgICB2YXIgZmlyc3RTY3JpcHRUYWcgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07CiAgICAgICAgICAgIGZpcnN0U2NyaXB0VGFnLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRhZywgZmlyc3RTY3JpcHRUYWcpOwogICAgICAgIH0KICAgICAgICBwbGF5ZXJzID0gJyc7CiAgICAgICAgd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICB2YXIgcGxheWVyRGl2cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5faHBfeXRfcGxheWVyX2NsYXNzIik7CiAgICAgICAgICAgIHZhciBwbGF5ZXJEaXZzQXJyID0gW10uc2xpY2UuY2FsbChwbGF5ZXJEaXZzKTsKICAgICAgICAgICAgdmFyIHBsYXllcnMgPSBuZXcgQXJyYXkocGxheWVyRGl2c0Fyci5sZW5ndGgpOwogICAgICAgICAgICBwbGF5ZXJEaXZzQXJyLmZvckVhY2goZnVuY3Rpb24gKGUsIGkpIHsKICAgICAgICAgICAgICAgIHBsYXllcnNbZS5pZF0gPSBuZXcgWVQuUGxheWVyKGUuaWQsIHsKICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICI0NzIiLAogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAiNjQwIiwKICAgICAgICAgICAgICAgICAgICB2aWRlb0lkOiBqUXVlcnkoZSkuZGF0YSgndmlkZW9pZCcpLAogICAgICAgICAgICAgICAgICAgIHBsYXllclZhcnM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInBsYXlzaW5saW5lIjogMSwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGV2ZW50czogewogICAgICAgICAgICAgICAgICAgICAgICAib25SZWFkeSI6IG9uUGxheWVyUmVhZHksCiAgICAgICAgICAgICAgICAgICAgICAgICJvblN0YXRlQ2hhbmdlIjogb25QbGF5ZXJTdGF0ZUNoYW5nZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG9uUGxheWVyUmVhZHkoZXZlbnQpIHsKICAgICAgICB9CgogICAgICAgIHZhciBkb25lID0gZmFsc2U7CgogICAgICAgIGZ1bmN0aW9uIG9uUGxheWVyU3RhdGVDaGFuZ2UoZXZlbnQpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coZXZlbnQpOwogICAgICAgICAgICBpZiAoZXZlbnQuZGF0YSA9PSBZVC5QbGF5ZXJTdGF0ZS5QTEFZSU5HKSB7CiAgICAgICAgICAgICAgICBzdG9wVmlkZW8oZXZlbnQudGFyZ2V0LmEuaWQpOwogICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHN0b3BWaWRlbygpIHsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIHBhdXNlVmlkZW8oKSB7CiAgICAgICAgICAgIGlmIChqUXVlcnkoJy5zbGlkZXItZm9yIC5zbGljay1jdXJyZW50JykubGVuZ3RoID4gMCAmJiBwbGF5ZXJzKSB7CiAgICAgICAgICAgICAgICB2YXIgcGxheWVyX2lkID0galF1ZXJ5KCcuc2xpZGVyLWZvciAuc2xpY2stY3VycmVudCcpLmZpbmQoJ2lmcmFtZScpLmF0dHIoJ2lkJyk7CiAgICAgICAgICAgICAgICBwbGF5ZXJzW3BsYXllcl9pZF0ucGF1c2VWaWRlbygpOwogICAgICAgICAgICB9IGVsc2UgaWYgKGpRdWVyeSgnLm93bC1pdGVtLmFjdGl2ZScpLmxlbmd0aCA+IDAgJiYgcGxheWVycykgewogICAgICAgICAgICAgICAgdmFyIHBsYXllcl9pZCA9IGpRdWVyeSgnLm93bC1pdGVtLmFjdGl2ZScpLmZpbmQoJ2lmcmFtZScpLmF0dHIoJ2lkJyk7CiAgICAgICAgICAgICAgICBwbGF5ZXJzW3BsYXllcl9pZF0ucGF1c2VWaWRlbygpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBqUXVlcnkoIiNjYXNlLXRhYiAubmF2LWl0ZW0iKS5jbGljayhmdW5jdGlvbiAoZSkgewogICAgICAgICAgICBwYXVzZVZpZGVvKCk7CiAgICAgICAgfSk7CiAgICA=
13 ms
javascript;base64,CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1zbGlkZXIubmF2JykudHJpZ2dlcignY2xpY2snKTsKICAgICAgICAgICAgalF1ZXJ5KCcubGF6eWxvYWQtc2xpZGVyLm5hdi1yZXRhaWwnKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgIH0sIHsKICAgICAgICAgICAgcGFzc2l2ZTogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIGpRdWVyeSgnLmxhenlsb2FkLXNsaWRlci5uYXYnKS5sYXp5bG9hZCh7CiAgICAgICAgICAgIHRocmVzaG9sZDogNTAwLAogICAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZWxlbWVudCkgewogICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlT3V0KDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZhZGVJbig0MDApOwogICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbiAoJCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGh1bWJzX3RvX3Nob3cgPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnYm9keScpLmhhc0NsYXNzKCdwYWdlLXRlbXBsYXRlLXBvcC11cC1zaG9wJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRodW1ic190b19zaG93ID0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAkKCcuc2xpZGVyLW5hdicpLnNsaWNrKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogdGh1bWJzX3RvX3Nob3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Njcm9sbDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzTmF2Rm9yOiAnLnNsaWRlci1mb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG90czogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZpbml0ZTogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c09uU2VsZWN0OiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFNsaWRlOiAxCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgLyogJCgnLnByb2R1Y3RzLXBhZ2Utc2xpZGVyLW5hdicpLnNsaWNrKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogdGh1bWJzX3RvX3Nob3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Njcm9sbDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzTmF2Rm9yOiAnLnByb2R1Y3RzLXBhZ2Utc2xpZGVyJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdHM6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5maW5pdGU6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNPblNlbGVjdDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGx0cjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxTbGlkZTogMQogICAgICAgICAgICAgICAgICAgICAgICB9KTsgKi8KICAgICAgICAgICAgICAgICAgICB9KShqUXVlcnkpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHRyaWdnZXI6ICJjbGljayIKICAgICAgICB9KTsKICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1zbGlkZXIubmF2LXJldGFpbCcpLmxhenlsb2FkKHsKICAgICAgICAgICAgdGhyZXNob2xkOiA1MDAsCiAgICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgICAgICAgICBlbGVtZW50LmZhZGVPdXQoMCwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmFkZUluKDQwMCk7CiAgICAgICAgICAgICAgICAgICAgKGZ1bmN0aW9uICgkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0aHVtYnNfdG9fc2hvdyA9IDU7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKCdib2R5JykuaGFzQ2xhc3MoJ3BhZ2UtdGVtcGxhdGUtcG9wLXVwLXNob3AnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGh1bWJzX3RvX3Nob3cgPSA0OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy5zbGlkZXItbmF2LXJldGFpbCcpLnNsaWNrKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogdGh1bWJzX3RvX3Nob3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Njcm9sbDogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzTmF2Rm9yOiAnLnNsaWRlcl9vbmVfcmV0YWlsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdHM6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5maW5pdGU6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNPblNlbGVjdDogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9KShqUXVlcnkpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHRyaWdnZXI6ICJjbGljayIKICAgICAgICB9KTsKICAgIA==
13 ms
javascript;base64,CiAgICAgICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7CiAgICAgICAgICAgIGlmICgkKCdib2R5JykuaGFzQ2xhc3MoJ3BhZ2UtdGVtcGxhdGUtcGludGVyZXN0JykpIHsKICAgICAgICAgICAgICAgICQoIi50b2dnbGUtc2lkZSIpLm9uKCdtb3VzZXVwJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICQoIi53aGl0ZS1zaWRlYmFyIikudG9nZ2xlQ2xhc3MoInNob3ciKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgJCgiLmNsb3NlLWljb24iKS5vbignbW91c2V1cCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAkKCIud2hpdGUtc2lkZWJhciIpLnRvZ2dsZUNsYXNzKCJzaG93IikKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgIGlmIChldmVudC5zY2FsZSAhPT0gMSkgewogICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0sIGZhbHNlKTsKICAgICAgICBqUXVlcnkoZnVuY3Rpb24gKCQpIHsKICAgICAgICAgICAgaWYgKCQoJ2JvZHknKS5oYXNDbGFzcygncGFnZS10ZW1wbGF0ZS1saW5rZWRpbicpKSB7CiAgICAgICAgICAgICAgICAkKCIudG9nZ2xlLXNpZGUiKS5vbignbW91c2V1cCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAkKCIud2hpdGUtc2lkZWJhciIpLnRvZ2dsZUNsYXNzKCJzaG93Iik7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICQoIi5jbG9zZS1pY29uIikub24oJ21vdXNldXAnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgJCgiLndoaXRlLXNpZGViYXIiKS50b2dnbGVDbGFzcygic2hvdyIpCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICBpZiAoZXZlbnQuc2NhbGUgIT09IDEpIHsKICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIH0KICAgICAgICB9LCBmYWxzZSk7CiAgICAgICAgalF1ZXJ5KGZ1bmN0aW9uICgkKSB7CiAgICAgICAgICAgIGlmICgkKCdib2R5JykuaGFzQ2xhc3MoJ3BhZ2UtdGVtcGxhdGUtd2VsY29tZScpKSB7CiAgICAgICAgICAgICAgICAkKCIudG9nZ2xlLXNpZGUiKS5vbignbW91c2V1cCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAkKCIud2hpdGUtc2lkZWJhciIpLnRvZ2dsZUNsYXNzKCJzaG93Iik7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICQoIi5jbG9zZS1pY29uIikub24oJ21vdXNldXAnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgJCgiLndoaXRlLXNpZGViYXIiKS50b2dnbGVDbGFzcygic2hvdyIpCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICBpZiAoZXZlbnQuc2NhbGUgIT09IDEpIHsKICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgIH0KICAgICAgICB9LCBmYWxzZSk7CiAgICA=
12 ms
javascript;base64,CiAgICAgICAgLyogTFpMIENvbW1lcmNpYWwsIFJlc2lkZW50aWFsIGFuZCBDb250YWN0IEZvb3RlciB3aXRoIE1vZGFscyAqLwogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGpRdWVyeSgnLmxhenlsb2FkLWNvbW1lcmNpYWwnKS50cmlnZ2VyKCdjbGljaycpOwogICAgICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1yZXNpZGVudGlhbCcpLnRyaWdnZXIoJ2NsaWNrJyk7CiAgICAgICAgfSwge3Bhc3NpdmU6IHRydWV9KTsKICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1jb21tZXJjaWFsJykubGF6eWxvYWQoewogICAgICAgICAgICB0aHJlc2hvbGQ6IDE1MDAsIGxvYWQ6IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICAgICAgICAgICAgICBlbGVtZW50LmZhZGVPdXQoMCwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmFkZUluKDQwMCk7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSwgdHJpZ2dlcjogImFwcGVhciIKICAgICAgICB9KTsKICAgICAgICBqUXVlcnkoJy5sYXp5bG9hZC1yZXNpZGVudGlhbCcpLmxhenlsb2FkKHsKICAgICAgICAgICAgdGhyZXNob2xkOiAyNTAwLCBsb2FkOiBmdW5jdGlvbiAoZWxlbWVudCkgewogICAgICAgICAgICAgICAgZWxlbWVudC5mYWRlT3V0KDAsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZhZGVJbig0MDApOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0sIHRyaWdnZXI6ICJhcHBlYXIiCiAgICAgICAgfSk7CiAgICA=
12 ms
b25sb2FkPW9ubG9hZENhbGxiYWNrUXVvdGVJbnF1cnkmcmVuZGVyPWV4cGxpY2l0JzsKICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1vdmUgZm9jdXMgdG8gYXZvaWQganMgZXJyb3I6CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVbmNhdWdodCBFcnJvcjogcmVDQVBUQ0hBIGhhcyBhbHJlYWR5IGJlZW4gcmVuZGVyZWQgaW4gdGhpcyBlbGVtZW50IGF0IE9iamVjdC5raAogICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2F1dGhvcicpLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgcmVDYXB0Y2hhRm9jdXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbW1lbnQnKS5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIHJlQ2FwdGNoYUZvY3VzKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmllbGRfMV8yMCcpLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgcmVDYXB0Y2hhRm9jdXMpOwogICAgICAgICAgICAgICAgICAgICB9OwoKCiAgICAgICAgICAgICAgICAgICAgIHZhciB3aWRnZXRJZDE7CiAgICAgICAgICAgICAgICAgICAgIHZhciB3aWRnZXRJZDI7CgogICAgICAgICAgICAgICAgICAgICAvLyBhZGQgaW5pdGlhbCBldmVudCBsaXN0ZW5lciB0byBvdXIgYmFzaWMgSFRNTCBmb3JtCiAgICAgICAgICAgICAgICAgICAgIC8vIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb21tZW50JykuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCByZUNhcHRjaGFGb2N1cywgZmFsc2UpOwoKICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpZWxkXzFfMjAnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHJlQ2FwdGNoYUZvY3VzLCBmYWxzZSk7CgogICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjZmllbGRfMV8yMCBpbnB1dCcpOwoKICAgICAgICAgICAgICAgICAgICAgLy8gZWxlbWVudHMuZm9yRWFjaCgKICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGZ1bmN0aW9uKGN1cnJlbnRWYWx1ZSwgY3VycmVudEluZGV4LCBsaXN0T2JqKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgLy8gY29uc29sZS5sb2coY3VycmVudFZhbHVlICsgJywgJyArIGN1cnJlbnRJbmRleCArICcsICcgKyB0aGlzKTsKCiAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWVsZF8xXzIwJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCByZUNhcHRjaGFGb2N1cywgZmFsc2UpOwogICAgICAgICAgICAgICAgICAgICAvLyAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgLy8gICAgICdteVRoaXNBcmcnCiAgICAgICAgICAgICAgICAgICAgIC8vICk7Ki8KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LAogICAgICAgICAgICB0cmlnZ2VyOiAiY2xpY2siCiAgICAgICAgfSk7CiAgICA=
12 ms
javascript;base64,Cgljb25zb2xlLmxvZygnUmVmZXJyZXIgZnJvbSBjb29raWU6ICcgKyAnJykK
11 ms
javascript;base64,CgkvKHRyaWRlbnR8bXNpZSkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiZkb2N1bWVudC5nZXRFbGVtZW50QnlJZCYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixmdW5jdGlvbigpe3ZhciB0LGU9bG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSk7L15bQS16MC05Xy1dKyQvLnRlc3QoZSkmJih0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpKSYmKC9eKD86YXxzZWxlY3R8aW5wdXR8YnV0dG9ufHRleHRhcmVhKSQvaS50ZXN0KHQudGFnTmFtZSl8fCh0LnRhYkluZGV4PS0xKSx0LmZvY3VzKCkpfSwhMSk7Cgk=
5 ms
javascript;base64,Cmdmb3JtLmluaXRpYWxpemVPbkxvYWRlZCggZnVuY3Rpb24oKSB7IGpRdWVyeShkb2N1bWVudCkub24oJ2dmb3JtX3Bvc3RfcmVuZGVyJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgY3VycmVudFBhZ2Upe2lmKGZvcm1JZCA9PSAyKSB7alF1ZXJ5KCAiI2dmb3JtXzIiICkub24oICdzdWJtaXQnLCBmdW5jdGlvbiggZXZlbnQgKSB7CglqUXVlcnkoICc8aW5wdXQ+JyApCgkJLmF0dHIoICd0eXBlJywgJ2hpZGRlbicgKQoJCS5hdHRyKCAnbmFtZScsICdnZl96ZXJvX3NwYW1fa2V5JyApCgkJLmF0dHIoICd2YWx1ZScsICdBNHFTck1TZ3lVbThTTnpvS0dqa09qdlBETDZrTDRFSlFLSjg0ZE00TWJheWNaSHlWRFNWQXBxNFVUNEt3QnVLJyApCgkJLmF0dHIoICdhdXRvY29tcGxldGUnLCAnbmV3LXBhc3N3b3JkJyApCgkJLmFwcGVuZFRvKCBqUXVlcnkoIHRoaXMgKSApOwp9ICk7fSB9ICk7alF1ZXJ5KGRvY3VtZW50KS5vbignZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGZpZWxkcywgaXNJbml0KXt9ICkgfSApOwo=
16 ms
javascript;base64,Cmdmb3JtLmluaXRpYWxpemVPbkxvYWRlZCggZnVuY3Rpb24oKSB7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCJnZm9ybV9wcmVfcG9zdF9yZW5kZXIiLCBbeyBmb3JtSWQ6ICIyIiwgY3VycmVudFBhZ2U6ICIxIiwgYWJvcnQ6IGZ1bmN0aW9uKCkgeyB0aGlzLnByZXZlbnREZWZhdWx0KCk7IH0gfV0pOyAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgeyAgICAgICAgICAgICAgICByZXR1cm47ICAgICAgICAgfSAgICAgICAgY29uc3QgZ2Zvcm1XcmFwcGVyRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoICJnZm9ybV93cmFwcGVyXzIiICk7ICAgICAgICBpZiAoIGdmb3JtV3JhcHBlckRpdiApIHsgICAgICAgICAgICBjb25zdCB2aXNpYmlsaXR5U3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJzcGFuIiApOyAgICAgICAgICAgIHZpc2liaWxpdHlTcGFuLmlkID0gImdmb3JtX3Zpc2liaWxpdHlfdGVzdF8yIjsgICAgICAgICAgICBnZm9ybVdyYXBwZXJEaXYuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCAiYWZ0ZXJlbmQiLCB2aXNpYmlsaXR5U3BhbiApOyAgICAgICAgfSAgICAgICAgY29uc3QgdmlzaWJpbGl0eVRlc3REaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggImdmb3JtX3Zpc2liaWxpdHlfdGVzdF8yIiApOyAgICAgICAgbGV0IHBvc3RSZW5kZXJGaXJlZCA9IGZhbHNlOyAgICAgICAgICAgICAgICBmdW5jdGlvbiB0cmlnZ2VyUG9zdFJlbmRlcigpIHsgICAgICAgICAgICBpZiAoIHBvc3RSZW5kZXJGaXJlZCApIHsgICAgICAgICAgICAgICAgcmV0dXJuOyAgICAgICAgICAgIH0gICAgICAgICAgICBwb3N0UmVuZGVyRmlyZWQgPSB0cnVlOyAgICAgICAgICAgIGpRdWVyeSggZG9jdW1lbnQgKS50cmlnZ2VyKCAnZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMiwgMV0gKTsgICAgICAgICAgICBnZm9ybS51dGlscy50cmlnZ2VyKCB7IGV2ZW50OiAnZ2Zvcm0vcG9zdFJlbmRlcicsIG5hdGl2ZTogZmFsc2UsIGRhdGE6IHsgZm9ybUlkOiAyLCBjdXJyZW50UGFnZTogMSB9IH0gKTsgICAgICAgICAgICBpZiAoIHZpc2liaWxpdHlUZXN0RGl2ICkgeyAgICAgICAgICAgICAgICB2aXNpYmlsaXR5VGVzdERpdi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCB2aXNpYmlsaXR5VGVzdERpdiApOyAgICAgICAgICAgIH0gICAgICAgIH0gICAgICAgIGZ1bmN0aW9uIGRlYm91bmNlKCBmdW5jLCB3YWl0LCBpbW1lZGlhdGUgKSB7ICAgICAgICAgICAgdmFyIHRpbWVvdXQ7ICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeyAgICAgICAgICAgICAgICB2YXIgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7ICAgICAgICAgICAgICAgIHZhciBsYXRlciA9IGZ1bmN0aW9uKCkgeyAgICAgICAgICAgICAgICAgICAgdGltZW91dCA9IG51bGw7ICAgICAgICAgICAgICAgICAgICBpZiAoICFpbW1lZGlhdGUgKSBmdW5jLmFwcGx5KCBjb250ZXh0LCBhcmdzICk7ICAgICAgICAgICAgICAgIH07ICAgICAgICAgICAgICAgIHZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0OyAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoIHRpbWVvdXQgKTsgICAgICAgICAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQoIGxhdGVyLCB3YWl0ICk7ICAgICAgICAgICAgICAgIGlmICggY2FsbE5vdyApIGZ1bmMuYXBwbHkoIGNvbnRleHQsIGFyZ3MgKTsgICAgICAgICAgICB9OyAgICAgICAgfSAgICAgICAgY29uc3QgZGVib3VuY2VkVHJpZ2dlclBvc3RSZW5kZXIgPSBkZWJvdW5jZSggZnVuY3Rpb24oKSB7ICAgICAgICAgICAgdHJpZ2dlclBvc3RSZW5kZXIoKTsgICAgICAgIH0sIDIwMCApOyAgICAgICAgaWYgKCB2aXNpYmlsaXR5VGVzdERpdiAmJiB2aXNpYmlsaXR5VGVzdERpdi5vZmZzZXRQYXJlbnQgPT09IG51bGwgKSB7ICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlciggKCBtdXRhdGlvbnMgKSA9PiB7ICAgICAgICAgICAgICAgIG11dGF0aW9ucy5mb3JFYWNoKCAoIG11dGF0aW9uICkgPT4geyAgICAgICAgICAgICAgICAgICAgaWYgKCBtdXRhdGlvbi50eXBlID09PSAnYXR0cmlidXRlcycgJiYgdmlzaWJpbGl0eVRlc3REaXYub2Zmc2V0UGFyZW50ICE9PSBudWxsICkgeyAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZFRyaWdnZXJQb3N0UmVuZGVyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOyAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICB9KTsgICAgICAgICAgICB9KTsgICAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKCBkb2N1bWVudC5ib2R5LCB7ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogZmFsc2UsICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWyAnc3R5bGUnLCAnY2xhc3MnIF0sICAgICAgICAgICAgfSk7ICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgIHRyaWdnZXJQb3N0UmVuZGVyKCk7ICAgICAgICB9ICAgIH0gKTsK
16 ms
javascript;base64,Cmdmb3JtLmluaXRpYWxpemVPbkxvYWRlZCggZnVuY3Rpb24oKSB7IGpRdWVyeShkb2N1bWVudCkub24oJ2dmb3JtX3Bvc3RfcmVuZGVyJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgY3VycmVudFBhZ2Upe2lmKGZvcm1JZCA9PSAxMikge2dmX2dsb2JhbFsibnVtYmVyX2Zvcm1hdHMiXVsxMl0gPSB7IjIiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIyOSI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjEzIjp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMyI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjQiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCI1Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMzEiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIzMCI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjM2Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMzMiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIzOSI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjM1Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiNDAiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCI0MSI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjkiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIxMCI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjExIjp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMTIiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIxNCI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjIxIjp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMjIiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIyMyI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjI0Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMjUiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIyNiI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjI3Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMjgiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCI0MyI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjQyIjp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfX07aWYod2luZG93WydqUXVlcnknXSl7aWYoIXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddKXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddID0gbmV3IEFycmF5KCk7d2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ11bMTJdID0geyBsb2dpYzogeyAxMzogeyJmaWVsZCI6eyJlbmFibGVkIjp0cnVlLCJhY3Rpb25UeXBlIjoic2hvdyIsImxvZ2ljVHlwZSI6ImFsbCIsInJ1bGVzIjpbeyJmaWVsZElkIjoiMjkiLCJvcGVyYXRvciI6Imlzbm90IiwidmFsdWUiOiJIb21lb3duZXIifSx7ImZpZWxkSWQiOiIyOSIsIm9wZXJhdG9yIjoiaXNub3QiLCJ2YWx1ZSI6IiJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9LDMxOiB7ImZpZWxkIjp7ImVuYWJsZWQiOnRydWUsImFjdGlvblR5cGUiOiJoaWRlIiwibG9naWNUeXBlIjoiYWxsIiwicnVsZXMiOlt7ImZpZWxkSWQiOiIyOSIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IlRyYWRlIFByb2Zlc3Npb25hbCJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9LDMwOiB7ImZpZWxkIjp7ImVuYWJsZWQiOnRydWUsImFjdGlvblR5cGUiOiJzaG93IiwibG9naWNUeXBlIjoiYW55IiwicnVsZXMiOlt7ImZpZWxkSWQiOiIyOSIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IkhvbWVvd25lciJ9LHsiZmllbGRJZCI6IjI5Iiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiQnVzaW5lc3MgT3duZXIifV19LCJuZXh0QnV0dG9uIjpudWxsLCJzZWN0aW9uIjpudWxsfSwzNjogeyJmaWVsZCI6eyJlbmFibGVkIjp0cnVlLCJhY3Rpb25UeXBlIjoic2hvdyIsImxvZ2ljVHlwZSI6ImFueSIsInJ1bGVzIjpbeyJmaWVsZElkIjoiMjkiLCJvcGVyYXRvciI6ImlzIiwidmFsdWUiOiJUcmFkZSBQcm9mZXNzaW9uYWwifSx7ImZpZWxkSWQiOiIyOSIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IiJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9LDMzOiB7ImZpZWxkIjp7ImVuYWJsZWQiOnRydWUsImFjdGlvblR5cGUiOiJzaG93IiwibG9naWNUeXBlIjoiYW55IiwicnVsZXMiOlt7ImZpZWxkSWQiOiIzMCIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IlNjaGVkdWxlIGEgRnJlZSBDb25zdWx0YXRpb24gYnkgUGhvbmUifSx7ImZpZWxkSWQiOiIzNiIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IlNjaGVkdWxlIGEgRnJlZSBDb25zdWx0YXRpb24gYnkgUGhvbmUifSx7ImZpZWxkSWQiOiIzNiIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IlJlcXVlc3QgYSBDb21tZXJjaWFsIEVzdGltYXRlIn1dfSwibmV4dEJ1dHRvbiI6bnVsbCwic2VjdGlvbiI6bnVsbH0sMzk6IHsiZmllbGQiOnsiZW5hYmxlZCI6dHJ1ZSwiYWN0aW9uVHlwZSI6InNob3ciLCJsb2dpY1R5cGUiOiJhbGwiLCJydWxlcyI6W3siZmllbGRJZCI6IjM2Iiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiUmVxdWVzdCBhIENvbW1lcmNpYWwgRXN0aW1hdGUifV19LCJuZXh0QnV0dG9uIjpudWxsLCJzZWN0aW9uIjpudWxsfSwzNTogeyJmaWVsZCI6eyJlbmFibGVkIjp0cnVlLCJhY3Rpb25UeXBlIjoic2hvdyIsImxvZ2ljVHlwZSI6ImFueSIsInJ1bGVzIjpbeyJmaWVsZElkIjoiMzAiLCJvcGVyYXRvciI6ImlzIiwidmFsdWUiOiJTY2hlZHVsZSBhIEZyZWUgQ29uc3VsdGF0aW9uIGJ5IFBob25lIn0seyJmaWVsZElkIjoiMzYiLCJvcGVyYXRvciI6ImlzIiwidmFsdWUiOiJTY2hlZHVsZSBhIEZyZWUgQ29uc3VsdGF0aW9uIGJ5IFBob25lIn1dfSwibmV4dEJ1dHRvbiI6bnVsbCwic2VjdGlvbiI6bnVsbH0sNDA6IHsiZmllbGQiOnsiZW5hYmxlZCI6dHJ1ZSwiYWN0aW9uVHlwZSI6InNob3ciLCJsb2dpY1R5cGUiOiJhbGwiLCJydWxlcyI6W3siZmllbGRJZCI6IjM2Iiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiSW5xdWlyeSBSZWdhcmRpbmcgUGFydG5lcnNoaXBzIn1dfSwibmV4dEJ1dHRvbiI6bnVsbCwic2VjdGlvbiI6bnVsbH0sNDE6IHsiZmllbGQiOnsiZW5hYmxlZCI6dHJ1ZSwiYWN0aW9uVHlwZSI6InNob3ciLCJsb2dpY1R5cGUiOiJhbnkiLCJydWxlcyI6W3siZmllbGRJZCI6IjMwIiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiSXQncyBzb21ldGhpbmcgZWxzZVx1MjAyNiJ9LHsiZmllbGRJZCI6IjM2Iiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiSXQncyBzb21ldGhpbmcgZWxzZVx1MjAyNiJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9IH0sIGRlcGVuZGVudHM6IHsgMTM6IFsxM10sMzE6IFszMV0sMzA6IFszMF0sMzY6IFszNl0sMzM6IFszM10sMzk6IFszOV0sMzU6IFszNV0sNDA6IFs0MF0sNDE6IFs0MV0gfSwgYW5pbWF0aW9uOiAwLCBkZWZhdWx0czogeyIyIjp7IjIuMiI6IiIsIjIuMyI6IiIsIjIuNCI6IiIsIjIuNiI6IiIsIjIuOCI6IiJ9LCIxMyI6eyIxMy4yIjoiIiwiMTMuMyI6IiIsIjEzLjQiOiIiLCIxMy42IjoiIiwiMTMuOCI6IiJ9LCI1Ijp7IjUuMSI6IiIsIjUuMiI6IiIsIjUuMyI6IiIsIjUuNCI6IiIsIjUuNSI6IiIsIjUuNiI6IiJ9LCI5IjoiaHR0cHM6XC9cL3d3dy5zbGlkaW5nZG9vcmNvLmNvbVwvIiwiMTAiOiIxOTMuMjYuMTU1LjE2MCIsIjExIjoiSG9tZXBhZ2UiLCIyMyI6IltjaGFubmVsXSIsIjI0IjoiW2NoYW5uZWxkcmlsbGRvd24xXSIsIjI1IjoiW2NoYW5uZWxkcmlsbGRvd24yXSIsIjI2IjoiW2NoYW5uZWxkcmlsbGRvd24zXSIsIjI3IjoiW2xhbmRpbmdwYWdlXSIsIjI4IjoiW2xhbmRpbmdwYWdlZ3JvdXBdIn0sIGZpZWxkczogeyIyIjpbXSwiMjkiOlsxMywzMSwzMCwzNl0sIjEzIjpbXSwiMyI6W10sIjQiOltdLCI1IjpbXSwiMzEiOltdLCIzMCI6WzMzLDM1LDQxXSwiMzYiOlszMywzOSwzNSw0MCw0MV0sIjMzIjpbXSwiMzkiOltdLCIzNSI6W10sIjQwIjpbXSwiNDEiOltdLCI5IjpbXSwiMTAiOltdLCIxMSI6W10sIjEyIjpbXSwiMTQiOltdLCIyMSI6W10sIjIyIjpbXSwiMjMiOltdLCIyNCI6W10sIjI1IjpbXSwiMjYiOltdLCIyNyI6W10sIjI4IjpbXSwiNDMiOltdLCI0MiI6W119IH07IGlmKCF3aW5kb3dbJ2dmX251bWJlcl9mb3JtYXQnXSl3aW5kb3dbJ2dmX251bWJlcl9mb3JtYXQnXSA9ICdkZWNpbWFsX2RvdCc7alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2dmb3JtLnV0aWxzLnRyaWdnZXIoeyBldmVudDogJ2dmb3JtL2NvbmRpdGlvbmFsTG9naWMvaW5pdC9zdGFydCcsIG5hdGl2ZTogZmFsc2UsIGRhdGE6IHsgZm9ybUlkOiAxMiwgZmllbGRzOiBudWxsLCBpc0luaXQ6IHRydWUgfSB9KTt3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10oKTtnZl9hcHBseV9ydWxlcygxMiwgWzEzLDMxLDMwLDM2LDMzLDM5LDM1LDQwLDQxXSwgdHJ1ZSk7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8xMicpLnNob3coKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBbMTIsIG51bGwsIHRydWVdKTtnZm9ybS51dGlscy50cmlnZ2VyKHsgZXZlbnQ6ICdnZm9ybS9jb25kaXRpb25hbExvZ2ljL2luaXQvZW5kJywgbmF0aXZlOiBmYWxzZSwgZGF0YTogeyBmb3JtSWQ6IDEyLCBmaWVsZHM6IG51bGwsIGlzSW5pdDogdHJ1ZSB9IH0pO30gKTt9IGlmKHR5cGVvZiBQbGFjZWhvbGRlcnMgIT0gJ3VuZGVmaW5lZCcpewogICAgICAgICAgICAgICAgICAgICAgICBQbGFjZWhvbGRlcnMuZW5hYmxlKCk7CiAgICAgICAgICAgICAgICAgICAgfWpRdWVyeSgnI2lucHV0XzEyXzQnKS5tYXNrKCcoOTk5KSA5OTktOTk5OScpLmJpbmQoJ2tleXByZXNzJywgZnVuY3Rpb24oZSl7aWYoZS53aGljaCA9PSAxMyl7alF1ZXJ5KHRoaXMpLmJsdXIoKTt9IH0gKTtqUXVlcnkoICIjZ2Zvcm1fMTIiICkub24oICdzdWJtaXQnLCBmdW5jdGlvbiggZXZlbnQgKSB7CglqUXVlcnkoICc8aW5wdXQ+JyApCgkJLmF0dHIoICd0eXBlJywgJ2hpZGRlbicgKQoJCS5hdHRyKCAnbmFtZScsICdnZl96ZXJvX3NwYW1fa2V5JyApCgkJLmF0dHIoICd2YWx1ZScsICdBNHFTck1TZ3lVbThTTnpvS0dqa09qdlBETDZrTDRFSlFLSjg0ZE00TWJheWNaSHlWRFNWQXBxNFVUNEt3QnVLJyApCgkJLmF0dHIoICdhdXRvY29tcGxldGUnLCAnbmV3LXBhc3N3b3JkJyApCgkJLmFwcGVuZFRvKCBqUXVlcnkoIHRoaXMgKSApOwp9ICk7fSB9ICk7alF1ZXJ5KGRvY3VtZW50KS5vbignZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGZpZWxkcywgaXNJbml0KXt9ICkgfSApOwo=
16 ms
javascript;base64,Cmdmb3JtLmluaXRpYWxpemVPbkxvYWRlZCggZnVuY3Rpb24oKSB7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCJnZm9ybV9wcmVfcG9zdF9yZW5kZXIiLCBbeyBmb3JtSWQ6ICIxMiIsIGN1cnJlbnRQYWdlOiAiMSIsIGFib3J0OiBmdW5jdGlvbigpIHsgdGhpcy5wcmV2ZW50RGVmYXVsdCgpOyB9IH1dKTsgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHsgICAgICAgICAgICAgICAgcmV0dXJuOyAgICAgICAgIH0gICAgICAgIGNvbnN0IGdmb3JtV3JhcHBlckRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAiZ2Zvcm1fd3JhcHBlcl8xMiIgKTsgICAgICAgIGlmICggZ2Zvcm1XcmFwcGVyRGl2ICkgeyAgICAgICAgICAgIGNvbnN0IHZpc2liaWxpdHlTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggInNwYW4iICk7ICAgICAgICAgICAgdmlzaWJpbGl0eVNwYW4uaWQgPSAiZ2Zvcm1fdmlzaWJpbGl0eV90ZXN0XzEyIjsgICAgICAgICAgICBnZm9ybVdyYXBwZXJEaXYuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCAiYWZ0ZXJlbmQiLCB2aXNpYmlsaXR5U3BhbiApOyAgICAgICAgfSAgICAgICAgY29uc3QgdmlzaWJpbGl0eVRlc3REaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggImdmb3JtX3Zpc2liaWxpdHlfdGVzdF8xMiIgKTsgICAgICAgIGxldCBwb3N0UmVuZGVyRmlyZWQgPSBmYWxzZTsgICAgICAgICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlclBvc3RSZW5kZXIoKSB7ICAgICAgICAgICAgaWYgKCBwb3N0UmVuZGVyRmlyZWQgKSB7ICAgICAgICAgICAgICAgIHJldHVybjsgICAgICAgICAgICB9ICAgICAgICAgICAgcG9zdFJlbmRlckZpcmVkID0gdHJ1ZTsgICAgICAgICAgICBqUXVlcnkoIGRvY3VtZW50ICkudHJpZ2dlciggJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzEyLCAxXSApOyAgICAgICAgICAgIGdmb3JtLnV0aWxzLnRyaWdnZXIoIHsgZXZlbnQ6ICdnZm9ybS9wb3N0UmVuZGVyJywgbmF0aXZlOiBmYWxzZSwgZGF0YTogeyBmb3JtSWQ6IDEyLCBjdXJyZW50UGFnZTogMSB9IH0gKTsgICAgICAgICAgICBpZiAoIHZpc2liaWxpdHlUZXN0RGl2ICkgeyAgICAgICAgICAgICAgICB2aXNpYmlsaXR5VGVzdERpdi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCB2aXNpYmlsaXR5VGVzdERpdiApOyAgICAgICAgICAgIH0gICAgICAgIH0gICAgICAgIGZ1bmN0aW9uIGRlYm91bmNlKCBmdW5jLCB3YWl0LCBpbW1lZGlhdGUgKSB7ICAgICAgICAgICAgdmFyIHRpbWVvdXQ7ICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeyAgICAgICAgICAgICAgICB2YXIgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7ICAgICAgICAgICAgICAgIHZhciBsYXRlciA9IGZ1bmN0aW9uKCkgeyAgICAgICAgICAgICAgICAgICAgdGltZW91dCA9IG51bGw7ICAgICAgICAgICAgICAgICAgICBpZiAoICFpbW1lZGlhdGUgKSBmdW5jLmFwcGx5KCBjb250ZXh0LCBhcmdzICk7ICAgICAgICAgICAgICAgIH07ICAgICAgICAgICAgICAgIHZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0OyAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoIHRpbWVvdXQgKTsgICAgICAgICAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQoIGxhdGVyLCB3YWl0ICk7ICAgICAgICAgICAgICAgIGlmICggY2FsbE5vdyApIGZ1bmMuYXBwbHkoIGNvbnRleHQsIGFyZ3MgKTsgICAgICAgICAgICB9OyAgICAgICAgfSAgICAgICAgY29uc3QgZGVib3VuY2VkVHJpZ2dlclBvc3RSZW5kZXIgPSBkZWJvdW5jZSggZnVuY3Rpb24oKSB7ICAgICAgICAgICAgdHJpZ2dlclBvc3RSZW5kZXIoKTsgICAgICAgIH0sIDIwMCApOyAgICAgICAgaWYgKCB2aXNpYmlsaXR5VGVzdERpdiAmJiB2aXNpYmlsaXR5VGVzdERpdi5vZmZzZXRQYXJlbnQgPT09IG51bGwgKSB7ICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlciggKCBtdXRhdGlvbnMgKSA9PiB7ICAgICAgICAgICAgICAgIG11dGF0aW9ucy5mb3JFYWNoKCAoIG11dGF0aW9uICkgPT4geyAgICAgICAgICAgICAgICAgICAgaWYgKCBtdXRhdGlvbi50eXBlID09PSAnYXR0cmlidXRlcycgJiYgdmlzaWJpbGl0eVRlc3REaXYub2Zmc2V0UGFyZW50ICE9PSBudWxsICkgeyAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZFRyaWdnZXJQb3N0UmVuZGVyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOyAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICB9KTsgICAgICAgICAgICB9KTsgICAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKCBkb2N1bWVudC5ib2R5LCB7ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogZmFsc2UsICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWyAnc3R5bGUnLCAnY2xhc3MnIF0sICAgICAgICAgICAgfSk7ICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgIHRyaWdnZXJQb3N0UmVuZGVyKCk7ICAgICAgICB9ICAgIH0gKTsK
15 ms
javascript;base64,Cmdmb3JtLmluaXRpYWxpemVPbkxvYWRlZCggZnVuY3Rpb24oKSB7IGpRdWVyeShkb2N1bWVudCkub24oJ2dmb3JtX3Bvc3RfcmVuZGVyJywgZnVuY3Rpb24oZXZlbnQsIGZvcm1JZCwgY3VycmVudFBhZ2Upe2lmKGZvcm1JZCA9PSAxMykge2dmX2dsb2JhbFsibnVtYmVyX2Zvcm1hdHMiXVsxM10gPSB7IjIiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIyOSI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjEzIjp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMyI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjQiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCI1Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMzEiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIzMCI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjM2Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMzMiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIzOSI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjM1Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiNDAiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCI0MSI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjkiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIxMCI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjExIjp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMTIiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIxNCI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjIxIjp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMjIiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIyMyI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjI0Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMjUiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCIyNiI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjI3Ijp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfSwiMjgiOnsicHJpY2UiOmZhbHNlLCJ2YWx1ZSI6ZmFsc2V9LCI0MyI6eyJwcmljZSI6ZmFsc2UsInZhbHVlIjpmYWxzZX0sIjQyIjp7InByaWNlIjpmYWxzZSwidmFsdWUiOmZhbHNlfX07aWYod2luZG93WydqUXVlcnknXSl7aWYoIXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddKXdpbmRvd1snZ2ZfZm9ybV9jb25kaXRpb25hbF9sb2dpYyddID0gbmV3IEFycmF5KCk7d2luZG93WydnZl9mb3JtX2NvbmRpdGlvbmFsX2xvZ2ljJ11bMTNdID0geyBsb2dpYzogeyAxMzogeyJmaWVsZCI6eyJlbmFibGVkIjp0cnVlLCJhY3Rpb25UeXBlIjoic2hvdyIsImxvZ2ljVHlwZSI6ImFsbCIsInJ1bGVzIjpbeyJmaWVsZElkIjoiMjkiLCJvcGVyYXRvciI6Imlzbm90IiwidmFsdWUiOiJIb21lb3duZXIifSx7ImZpZWxkSWQiOiIyOSIsIm9wZXJhdG9yIjoiaXNub3QiLCJ2YWx1ZSI6IiJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9LDMxOiB7ImZpZWxkIjp7ImVuYWJsZWQiOnRydWUsImFjdGlvblR5cGUiOiJoaWRlIiwibG9naWNUeXBlIjoiYWxsIiwicnVsZXMiOlt7ImZpZWxkSWQiOiIyOSIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IlRyYWRlIFByb2Zlc3Npb25hbCJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9LDMwOiB7ImZpZWxkIjp7ImVuYWJsZWQiOnRydWUsImFjdGlvblR5cGUiOiJzaG93IiwibG9naWNUeXBlIjoiYW55IiwicnVsZXMiOlt7ImZpZWxkSWQiOiIyOSIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IkhvbWVvd25lciJ9LHsiZmllbGRJZCI6IjI5Iiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiQnVzaW5lc3MgT3duZXIifV19LCJuZXh0QnV0dG9uIjpudWxsLCJzZWN0aW9uIjpudWxsfSwzNjogeyJmaWVsZCI6eyJlbmFibGVkIjp0cnVlLCJhY3Rpb25UeXBlIjoic2hvdyIsImxvZ2ljVHlwZSI6ImFueSIsInJ1bGVzIjpbeyJmaWVsZElkIjoiMjkiLCJvcGVyYXRvciI6ImlzIiwidmFsdWUiOiJUcmFkZSBQcm9mZXNzaW9uYWwifSx7ImZpZWxkSWQiOiIyOSIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IiJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9LDMzOiB7ImZpZWxkIjp7ImVuYWJsZWQiOnRydWUsImFjdGlvblR5cGUiOiJzaG93IiwibG9naWNUeXBlIjoiYW55IiwicnVsZXMiOlt7ImZpZWxkSWQiOiIzMCIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IlNjaGVkdWxlIGEgRnJlZSBDb25zdWx0YXRpb24gYnkgUGhvbmUifSx7ImZpZWxkSWQiOiIzNiIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IlNjaGVkdWxlIGEgRnJlZSBDb25zdWx0YXRpb24gYnkgUGhvbmUifSx7ImZpZWxkSWQiOiIzNiIsIm9wZXJhdG9yIjoiaXMiLCJ2YWx1ZSI6IlJlcXVlc3QgYSBDb21tZXJjaWFsIEVzdGltYXRlIn1dfSwibmV4dEJ1dHRvbiI6bnVsbCwic2VjdGlvbiI6bnVsbH0sMzk6IHsiZmllbGQiOnsiZW5hYmxlZCI6dHJ1ZSwiYWN0aW9uVHlwZSI6InNob3ciLCJsb2dpY1R5cGUiOiJhbGwiLCJydWxlcyI6W3siZmllbGRJZCI6IjM2Iiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiUmVxdWVzdCBhIENvbW1lcmNpYWwgRXN0aW1hdGUifV19LCJuZXh0QnV0dG9uIjpudWxsLCJzZWN0aW9uIjpudWxsfSwzNTogeyJmaWVsZCI6eyJlbmFibGVkIjp0cnVlLCJhY3Rpb25UeXBlIjoic2hvdyIsImxvZ2ljVHlwZSI6ImFueSIsInJ1bGVzIjpbeyJmaWVsZElkIjoiMzAiLCJvcGVyYXRvciI6ImlzIiwidmFsdWUiOiJTY2hlZHVsZSBhIEZyZWUgQ29uc3VsdGF0aW9uIGJ5IFBob25lIn0seyJmaWVsZElkIjoiMzYiLCJvcGVyYXRvciI6ImlzIiwidmFsdWUiOiJTY2hlZHVsZSBhIEZyZWUgQ29uc3VsdGF0aW9uIGJ5IFBob25lIn1dfSwibmV4dEJ1dHRvbiI6bnVsbCwic2VjdGlvbiI6bnVsbH0sNDA6IHsiZmllbGQiOnsiZW5hYmxlZCI6dHJ1ZSwiYWN0aW9uVHlwZSI6InNob3ciLCJsb2dpY1R5cGUiOiJhbGwiLCJydWxlcyI6W3siZmllbGRJZCI6IjM2Iiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiSW5xdWlyeSBSZWdhcmRpbmcgUGFydG5lcnNoaXBzIn1dfSwibmV4dEJ1dHRvbiI6bnVsbCwic2VjdGlvbiI6bnVsbH0sNDE6IHsiZmllbGQiOnsiZW5hYmxlZCI6dHJ1ZSwiYWN0aW9uVHlwZSI6InNob3ciLCJsb2dpY1R5cGUiOiJhbnkiLCJydWxlcyI6W3siZmllbGRJZCI6IjMwIiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiSXQncyBzb21ldGhpbmcgZWxzZVx1MjAyNiJ9LHsiZmllbGRJZCI6IjM2Iiwib3BlcmF0b3IiOiJpcyIsInZhbHVlIjoiSXQncyBzb21ldGhpbmcgZWxzZVx1MjAyNiJ9XX0sIm5leHRCdXR0b24iOm51bGwsInNlY3Rpb24iOm51bGx9IH0sIGRlcGVuZGVudHM6IHsgMTM6IFsxM10sMzE6IFszMV0sMzA6IFszMF0sMzY6IFszNl0sMzM6IFszM10sMzk6IFszOV0sMzU6IFszNV0sNDA6IFs0MF0sNDE6IFs0MV0gfSwgYW5pbWF0aW9uOiAwLCBkZWZhdWx0czogeyIyIjp7IjIuMiI6IiIsIjIuMyI6IiIsIjIuNCI6IiIsIjIuNiI6IiIsIjIuOCI6IiJ9LCIxMyI6eyIxMy4yIjoiIiwiMTMuMyI6IiIsIjEzLjQiOiIiLCIxMy42IjoiIiwiMTMuOCI6IiJ9LCI1Ijp7IjUuMSI6IiIsIjUuMiI6IiIsIjUuMyI6IiIsIjUuNCI6IiIsIjUuNSI6IiIsIjUuNiI6IiJ9LCI5IjoiaHR0cHM6XC9cL3d3dy5zbGlkaW5nZG9vcmNvLmNvbVwvIiwiMTAiOiIxOTMuMjYuMTU1LjE2MCIsIjExIjoiSG9tZXBhZ2UiLCIyMyI6IltjaGFubmVsXSIsIjI0IjoiW2NoYW5uZWxkcmlsbGRvd24xXSIsIjI1IjoiW2NoYW5uZWxkcmlsbGRvd24yXSIsIjI2IjoiW2NoYW5uZWxkcmlsbGRvd24zXSIsIjI3IjoiW2xhbmRpbmdwYWdlXSIsIjI4IjoiW2xhbmRpbmdwYWdlZ3JvdXBdIn0sIGZpZWxkczogeyIyIjpbXSwiMjkiOlsxMywzMSwzMCwzNl0sIjEzIjpbXSwiMyI6W10sIjQiOltdLCI1IjpbXSwiMzEiOltdLCIzMCI6WzMzLDM1LDQxXSwiMzYiOlszMywzOSwzNSw0MCw0MV0sIjMzIjpbXSwiMzkiOltdLCIzNSI6W10sIjQwIjpbXSwiNDEiOltdLCI5IjpbXSwiMTAiOltdLCIxMSI6W10sIjEyIjpbXSwiMTQiOltdLCIyMSI6W10sIjIyIjpbXSwiMjMiOltdLCIyNCI6W10sIjI1IjpbXSwiMjYiOltdLCIyNyI6W10sIjI4IjpbXSwiNDMiOltdLCI0MiI6W119IH07IGlmKCF3aW5kb3dbJ2dmX251bWJlcl9mb3JtYXQnXSl3aW5kb3dbJ2dmX251bWJlcl9mb3JtYXQnXSA9ICdkZWNpbWFsX2RvdCc7alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2dmb3JtLnV0aWxzLnRyaWdnZXIoeyBldmVudDogJ2dmb3JtL2NvbmRpdGlvbmFsTG9naWMvaW5pdC9zdGFydCcsIG5hdGl2ZTogZmFsc2UsIGRhdGE6IHsgZm9ybUlkOiAxMywgZmllbGRzOiBudWxsLCBpc0luaXQ6IHRydWUgfSB9KTt3aW5kb3dbJ2dmb3JtSW5pdFByaWNlRmllbGRzJ10oKTtnZl9hcHBseV9ydWxlcygxMywgWzEzLDMxLDMwLDM2LDMzLDM5LDM1LDQwLDQxXSwgdHJ1ZSk7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8xMycpLnNob3coKTtqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBbMTMsIG51bGwsIHRydWVdKTtnZm9ybS51dGlscy50cmlnZ2VyKHsgZXZlbnQ6ICdnZm9ybS9jb25kaXRpb25hbExvZ2ljL2luaXQvZW5kJywgbmF0aXZlOiBmYWxzZSwgZGF0YTogeyBmb3JtSWQ6IDEzLCBmaWVsZHM6IG51bGwsIGlzSW5pdDogdHJ1ZSB9IH0pO30gKTt9IGlmKHR5cGVvZiBQbGFjZWhvbGRlcnMgIT0gJ3VuZGVmaW5lZCcpewogICAgICAgICAgICAgICAgICAgICAgICBQbGFjZWhvbGRlcnMuZW5hYmxlKCk7CiAgICAgICAgICAgICAgICAgICAgfWpRdWVyeSgnI2lucHV0XzEzXzQnKS5tYXNrKCcoOTk5KSA5OTktOTk5OScpLmJpbmQoJ2tleXByZXNzJywgZnVuY3Rpb24oZSl7aWYoZS53aGljaCA9PSAxMyl7alF1ZXJ5KHRoaXMpLmJsdXIoKTt9IH0gKTtqUXVlcnkoICIjZ2Zvcm1fMTMiICkub24oICdzdWJtaXQnLCBmdW5jdGlvbiggZXZlbnQgKSB7CglqUXVlcnkoICc8aW5wdXQ+JyApCgkJLmF0dHIoICd0eXBlJywgJ2hpZGRlbicgKQoJCS5hdHRyKCAnbmFtZScsICdnZl96ZXJvX3NwYW1fa2V5JyApCgkJLmF0dHIoICd2YWx1ZScsICdBNHFTck1TZ3lVbThTTnpvS0dqa09qdlBETDZrTDRFSlFLSjg0ZE00TWJheWNaSHlWRFNWQXBxNFVUNEt3QnVLJyApCgkJLmF0dHIoICdhdXRvY29tcGxldGUnLCAnbmV3LXBhc3N3b3JkJyApCgkJLmFwcGVuZFRvKCBqUXVlcnkoIHRoaXMgKSApOwp9ICk7fSB9ICk7alF1ZXJ5KGRvY3VtZW50KS5vbignZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGZpZWxkcywgaXNJbml0KXt9ICkgfSApOwo=
15 ms
javascript;base64,Cmdmb3JtLmluaXRpYWxpemVPbkxvYWRlZCggZnVuY3Rpb24oKSB7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCJnZm9ybV9wcmVfcG9zdF9yZW5kZXIiLCBbeyBmb3JtSWQ6ICIxMyIsIGN1cnJlbnRQYWdlOiAiMSIsIGFib3J0OiBmdW5jdGlvbigpIHsgdGhpcy5wcmV2ZW50RGVmYXVsdCgpOyB9IH1dKTsgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHsgICAgICAgICAgICAgICAgcmV0dXJuOyAgICAgICAgIH0gICAgICAgIGNvbnN0IGdmb3JtV3JhcHBlckRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCAiZ2Zvcm1fd3JhcHBlcl8xMyIgKTsgICAgICAgIGlmICggZ2Zvcm1XcmFwcGVyRGl2ICkgeyAgICAgICAgICAgIGNvbnN0IHZpc2liaWxpdHlTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggInNwYW4iICk7ICAgICAgICAgICAgdmlzaWJpbGl0eVNwYW4uaWQgPSAiZ2Zvcm1fdmlzaWJpbGl0eV90ZXN0XzEzIjsgICAgICAgICAgICBnZm9ybVdyYXBwZXJEaXYuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCAiYWZ0ZXJlbmQiLCB2aXNpYmlsaXR5U3BhbiApOyAgICAgICAgfSAgICAgICAgY29uc3QgdmlzaWJpbGl0eVRlc3REaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCggImdmb3JtX3Zpc2liaWxpdHlfdGVzdF8xMyIgKTsgICAgICAgIGxldCBwb3N0UmVuZGVyRmlyZWQgPSBmYWxzZTsgICAgICAgICAgICAgICAgZnVuY3Rpb24gdHJpZ2dlclBvc3RSZW5kZXIoKSB7ICAgICAgICAgICAgaWYgKCBwb3N0UmVuZGVyRmlyZWQgKSB7ICAgICAgICAgICAgICAgIHJldHVybjsgICAgICAgICAgICB9ICAgICAgICAgICAgcG9zdFJlbmRlckZpcmVkID0gdHJ1ZTsgICAgICAgICAgICBqUXVlcnkoIGRvY3VtZW50ICkudHJpZ2dlciggJ2dmb3JtX3Bvc3RfcmVuZGVyJywgWzEzLCAxXSApOyAgICAgICAgICAgIGdmb3JtLnV0aWxzLnRyaWdnZXIoIHsgZXZlbnQ6ICdnZm9ybS9wb3N0UmVuZGVyJywgbmF0aXZlOiBmYWxzZSwgZGF0YTogeyBmb3JtSWQ6IDEzLCBjdXJyZW50UGFnZTogMSB9IH0gKTsgICAgICAgICAgICBpZiAoIHZpc2liaWxpdHlUZXN0RGl2ICkgeyAgICAgICAgICAgICAgICB2aXNpYmlsaXR5VGVzdERpdi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCB2aXNpYmlsaXR5VGVzdERpdiApOyAgICAgICAgICAgIH0gICAgICAgIH0gICAgICAgIGZ1bmN0aW9uIGRlYm91bmNlKCBmdW5jLCB3YWl0LCBpbW1lZGlhdGUgKSB7ICAgICAgICAgICAgdmFyIHRpbWVvdXQ7ICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgeyAgICAgICAgICAgICAgICB2YXIgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7ICAgICAgICAgICAgICAgIHZhciBsYXRlciA9IGZ1bmN0aW9uKCkgeyAgICAgICAgICAgICAgICAgICAgdGltZW91dCA9IG51bGw7ICAgICAgICAgICAgICAgICAgICBpZiAoICFpbW1lZGlhdGUgKSBmdW5jLmFwcGx5KCBjb250ZXh0LCBhcmdzICk7ICAgICAgICAgICAgICAgIH07ICAgICAgICAgICAgICAgIHZhciBjYWxsTm93ID0gaW1tZWRpYXRlICYmICF0aW1lb3V0OyAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoIHRpbWVvdXQgKTsgICAgICAgICAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQoIGxhdGVyLCB3YWl0ICk7ICAgICAgICAgICAgICAgIGlmICggY2FsbE5vdyApIGZ1bmMuYXBwbHkoIGNvbnRleHQsIGFyZ3MgKTsgICAgICAgICAgICB9OyAgICAgICAgfSAgICAgICAgY29uc3QgZGVib3VuY2VkVHJpZ2dlclBvc3RSZW5kZXIgPSBkZWJvdW5jZSggZnVuY3Rpb24oKSB7ICAgICAgICAgICAgdHJpZ2dlclBvc3RSZW5kZXIoKTsgICAgICAgIH0sIDIwMCApOyAgICAgICAgaWYgKCB2aXNpYmlsaXR5VGVzdERpdiAmJiB2aXNpYmlsaXR5VGVzdERpdi5vZmZzZXRQYXJlbnQgPT09IG51bGwgKSB7ICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlciggKCBtdXRhdGlvbnMgKSA9PiB7ICAgICAgICAgICAgICAgIG11dGF0aW9ucy5mb3JFYWNoKCAoIG11dGF0aW9uICkgPT4geyAgICAgICAgICAgICAgICAgICAgaWYgKCBtdXRhdGlvbi50eXBlID09PSAnYXR0cmlidXRlcycgJiYgdmlzaWJpbGl0eVRlc3REaXYub2Zmc2V0UGFyZW50ICE9PSBudWxsICkgeyAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZFRyaWdnZXJQb3N0UmVuZGVyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOyAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICB9KTsgICAgICAgICAgICB9KTsgICAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKCBkb2N1bWVudC5ib2R5LCB7ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsICAgICAgICAgICAgICAgIGNoaWxkTGlzdDogZmFsc2UsICAgICAgICAgICAgICAgIHN1YnRyZWU6IHRydWUsICAgICAgICAgICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWyAnc3R5bGUnLCAnY2xhc3MnIF0sICAgICAgICAgICAgfSk7ICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgIHRyaWdnZXJQb3N0UmVuZGVyKCk7ICAgICAgICB9ICAgIH0gKTsK
16 ms
a11y.min.js
243 ms
GothamPro-Medium.woff
230 ms
GothamPro.woff
231 ms
GothamPro-Light.woff
262 ms
GothamPro-Bold.woff
262 ms
GothamPro-Black.woff
445 ms
js
137 ms
core.js
259 ms
gtm.js
188 ms
recaptcha__en.js
207 ms
player_api
254 ms
www-widgetapi.js
12 ms
slidingdoorco.com accessibility score
Contrast
These are opportunities to improve the legibility of your content.
Impact
Issue
Background and foreground colors do not have a sufficient contrast ratio.
Navigation
These are opportunities to improve keyboard navigation in your application.
Impact
Issue
[id] attributes on active, focusable elements are not unique
Heading elements are not in a sequentially-descending order
ARIA
These are opportunities to improve the usage of ARIA in your application which may enhance the experience for users of assistive technology, like a screen reader.
Impact
Issue
ARIA IDs are not unique
Names and labels
These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.
Impact
Issue
Image elements do not have [alt] attributes
Links do not have a discernible name
slidingdoorco.com best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Ensure CSP is effective against XSS attacks
General
Impact
Issue
Detected JavaScript libraries
Page has valid source maps
slidingdoorco.com SEO score
Content Best Practices
Format your HTML in a way that enables crawlers to better understand your app’s content.
Impact
Issue
Links do not have descriptive text
Image elements do not have [alt] attributes
Crawling and Indexing
To appear in search results, crawlers need access to your app.
Impact
Issue
Links are not crawlable
Mobile Friendly
Make sure your pages are mobile friendly so users don’t have to pinch or zoom in order to read the content pages. [Learn more](https://developers.google.com/search/mobile-sites/).
Impact
Issue
Document uses legible font sizes
Tap targets are not sized appropriately
EN
EN
UTF-8
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise Slidingdoorco.com can be misinterpreted by Google and other search engines. Our service has detected that English is used on the page, and it matches the claimed language. Our system also found out that Slidingdoorco.com main page’s claimed encoding is utf-8. Use of this encoding format is the best practice as the main page visitors from all over the world won’t have any issues with symbol transcription.
slidingdoorco.com
Open Graph description is not detected on the main page of Sliding Door Co. Lack of Open Graph description can be counter-productive for their social media presence, as such a description allows converting a website homepage (or other pages) into good-looking, rich and well-structured posts, when it is being shared on Facebook and other social media. For example, adding the following code snippet into HTML <head> tag will help to represent this web page correctly in social networks: