13.4 sec in total
521 ms
12.5 sec
369 ms
Visit robsnow.eu now to see the best up-to-date Rob Snow content and also check out these interesting facts you probably never knew about robsnow.eu
Welcome to the homepage of illustrator Rob Snow; aka Rob Art | Illustration. Review projects, buy art and commission Rob as well!
Visit robsnow.euWe analyzed Robsnow.eu page load time and found that the first response time was 521 ms and then it took 12.9 sec to load all DOM resources and completely render a web page. This is a poor result, as 90% of websites can load faster.
robsnow.eu performance score
name
value
score
weighting
Value4.3 s
18/100
10%
Value8.1 s
2/100
25%
Value14.8 s
1/100
10%
Value2,030 ms
7/100
30%
Value0.225
55/100
15%
Value29.3 s
0/100
10%
521 ms
7122 ms
19 ms
17 ms
196 ms
Our browser made a total of 275 requests to load all elements on the main page. We found that 79% of them (217 requests) were addressed to the original Robsnow.eu, 11% (29 requests) were made to and 4% (12 requests) were made to Fonts.gstatic.com. The less responsive or slowest element that took the longest time to load (7.1 sec) belongs to the original domain Robsnow.eu.
Page size can be reduced by 436.8 kB (7%)
6.1 MB
5.6 MB
In fact, the total size of Robsnow.eu main page is 6.1 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. 80% of websites need less resources to load and that’s why Accessify’s recommendations for optimization and resource minification can be helpful for this project. Images take 4.9 MB which makes up the majority of the site volume.
Potential reduce by 375.7 kB
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. HTML code on this page is well minified. It is highly recommended that content of this web page should be compressed using GZIP, as it can save up to 375.7 kB or 88% of the original size.
Potential reduce by 1.3 kB
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. Rob Snow images are well optimized though.
Potential reduce by 21.8 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.
Potential reduce by 38.0 kB
CSS files minification is very important to reduce a web page rendering time. The faster CSS files can load, the earlier a page can be rendered. Robsnow.eu needs all CSS files to be minified and compressed as it can save up to 38.0 kB or 15% of the original size.
Number of requests can be reduced by 125 (56%)
225
100
The browser has sent 225 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Rob Snow. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 67 to 1 for JavaScripts and from 60 to 1 for CSS and as a result speed up the page load time.
robsnow.eu
521 ms
robsnow.eu
7122 ms
javascript;base64,d2luZG93Ll93Y2EgPSB3aW5kb3cuX3djYSB8fCBbXTs=
19 ms
dmVyPTYuNi4yIn19OwovKiEgVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkICovCiFmdW5jdGlvbihpLG4pe3ZhciBvLHMsZTtmdW5jdGlvbiBjKGUpe3RyeXt2YXIgdD17c3VwcG9ydFRlc3RzOmUsdGltZXN0YW1wOihuZXcgRGF0ZSkudmFsdWVPZigpfTtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKG8sSlNPTi5zdHJpbmdpZnkodCkpfWNhdGNoKGUpe319ZnVuY3Rpb24gcChlLHQsbil7ZS5jbGVhclJlY3QoMCwwLGUuY2FudmFzLndpZHRoLGUuY2FudmFzLmhlaWdodCksZS5maWxsVGV4dCh0LDAsMCk7dmFyIHQ9bmV3IFVpbnQzMkFycmF5KGUuZ2V0SW1hZ2VEYXRhKDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLmRhdGEpLHI9KGUuY2xlYXJSZWN0KDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLGUuZmlsbFRleHQobiwwLDApLG5ldyBVaW50MzJBcnJheShlLmdldEltYWdlRGF0YSgwLDAsZS5jYW52YXMud2lkdGgsZS5jYW52YXMuaGVpZ2h0KS5kYXRhKSk7cmV0dXJuIHQuZXZlcnkoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PXJbdF19KX1mdW5jdGlvbiB1KGUsdCxuKXtzd2l0Y2godCl7Y2FzZSJmbGFnIjpyZXR1cm4gbihlLCJcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGRcdTI2YTdcdWZlMGYiLCJcdWQ4M2NcdWRmZjNcdWZlMGZcdTIwMGJcdTI2YTdcdWZlMGYiKT8hMTohbihlLCJcdWQ4M2NcdWRkZmFcdWQ4M2NcdWRkZjMiLCJcdWQ4M2NcdWRkZmFcdTIwMGJcdWQ4M2NcdWRkZjMiKSYmIW4oZSwiXHVkODNjXHVkZmY0XHVkYjQwXHVkYzY3XHVkYjQwXHVkYzYyXHVkYjQwXHVkYzY1XHVkYjQwXHVkYzZlXHVkYjQwXHVkYzY3XHVkYjQwXHVkYzdmIiwiXHVkODNjXHVkZmY0XHUyMDBiXHVkYjQwXHVkYzY3XHUyMDBiXHVkYjQwXHVkYzYyXHUyMDBiXHVkYjQwXHVkYzY1XHUyMDBiXHVkYjQwXHVkYzZlXHUyMDBiXHVkYjQwXHVkYzY3XHUyMDBiXHVkYjQwXHVkYzdmIik7Y2FzZSJlbW9qaSI6cmV0dXJuIW4oZSwiXHVkODNkXHVkYzI2XHUyMDBkXHUyYjFiIiwiXHVkODNkXHVkYzI2XHUyMDBiXHUyYjFiIil9cmV0dXJuITF9ZnVuY3Rpb24gZihlLHQsbil7dmFyIHI9InVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXJHbG9iYWxTY29wZSYmc2VsZiBpbnN0YW5jZW9mIFdvcmtlckdsb2JhbFNjb3BlP25ldyBPZmZzY3JlZW5DYW52YXMoMzAwLDE1MCk6aS5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxhPXIuZ2V0Q29udGV4dCgiMmQiLHt3aWxsUmVhZEZyZXF1ZW50bHk6ITB9KSxvPShhLnRleHRCYXNlbGluZT0idG9wIixhLmZvbnQ9IjYwMCAzMnB4IEFyaWFsIix7fSk7cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlKXtvW2VdPXQoYSxlLG4pfSksb31mdW5jdGlvbiB0KGUpe3ZhciB0PWkuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dC5zcmM9ZSx0LmRlZmVyPSEwLGkuaGVhZC5hcHBlbmRDaGlsZCh0KX0idW5kZWZpbmVkIiE9dHlwZW9mIFByb21pc2UmJihvPSJ3cEVtb2ppU2V0dGluZ3NTdXBwb3J0cyIscz1bImZsYWciLCJlbW9qaSJdLG4uc3VwcG9ydHM9e2V2ZXJ5dGhpbmc6ITAsZXZlcnl0aGluZ0V4Y2VwdEZsYWc6ITB9LGU9bmV3IFByb21pc2UoZnVuY3Rpb24oZSl7aS5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixlLHtvbmNlOiEwfSl9KSxuZXcgUHJvbWlzZShmdW5jdGlvbih0KXt2YXIgbj1mdW5jdGlvbigpe3RyeXt2YXIgZT1KU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0obykpO2lmKCJvYmplY3QiPT10eXBlb2YgZSYmIm51bWJlciI9PXR5cGVvZiBlLnRpbWVzdGFtcCYmKG5ldyBEYXRlKS52YWx1ZU9mKCk8ZS50aW1lc3RhbXArNjA0ODAwJiYib2JqZWN0Ij09dHlwZW9mIGUuc3VwcG9ydFRlc3RzKXJldHVybiBlLnN1cHBvcnRUZXN0c31jYXRjaChlKXt9cmV0dXJuIG51bGx9KCk7aWYoIW4pe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgV29ya2VyJiYidW5kZWZpbmVkIiE9dHlwZW9mIE9mZnNjcmVlbkNhbnZhcyYmInVuZGVmaW5lZCIhPXR5cGVvZiBVUkwmJlVSTC5jcmVhdGVPYmplY3RVUkwmJiJ1bmRlZmluZWQiIT10eXBlb2YgQmxvYil0cnl7dmFyIGU9InBvc3RNZXNzYWdlKCIrZi50b1N0cmluZygpKyIoIitbSlNPTi5zdHJpbmdpZnkocyksdS50b1N0cmluZygpLHAudG9TdHJpbmcoKV0uam9pbigiLCIpKyIpKTsiLHI9bmV3IEJsb2IoW2VdLHt0eXBlOiJ0ZXh0L2phdmFzY3JpcHQifSksYT1uZXcgV29ya2VyKFVSTC5jcmVhdGVPYmplY3RVUkwocikse25hbWU6IndwVGVzdEVtb2ppU3VwcG9ydHMifSk7cmV0dXJuIHZvaWQoYS5vbm1lc3NhZ2U9ZnVuY3Rpb24oZSl7YyhuPWUuZGF0YSksYS50ZXJtaW5hdGUoKSx0KG4pfSl9Y2F0Y2goZSl7fWMobj1mKHMsdSxwKSl9dChuKX0pLnRoZW4oZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGUpbi5zdXBwb3J0c1t0XT1lW3RdLG4uc3VwcG9ydHMuZXZlcnl0aGluZz1uLnN1cHBvcnRzLmV2ZXJ5dGhpbmcmJm4uc3VwcG9ydHNbdF0sImZsYWciIT09dCYmKG4uc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9bi5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmbi5zdXBwb3J0c1t0XSk7bi5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz1uLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiYhbi5zdXBwb3J0cy5mbGFnLG4uRE9NUmVhZHk9ITEsbi5yZWFkeUNhbGxiYWNrPWZ1bmN0aW9uKCl7bi5ET01SZWFkeT0hMH19KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KS50aGVuKGZ1bmN0aW9uKCl7dmFyIGU7bi5zdXBwb3J0cy5ldmVyeXRoaW5nfHwobi5yZWFkeUNhbGxiYWNrKCksKGU9bi5zb3VyY2V8fHt9KS5jb25jYXRlbW9qaT90KGUuY29uY2F0ZW1vamkpOmUud3BlbW9qaSYmZS50d2Vtb2ppJiYodChlLnR3ZW1vamkpLHQoZS53cGVtb2ppKSkpfSkpfSgod2luZG93LGRvY3VtZW50KSx3aW5kb3cuX3dwZW1vamlTZXR0aW5ncyk7Ci8qIF1dPiAqLwo=
17 ms
mediaelementplayer-legacy.min.css
196 ms
wp-mediaelement.min.css
295 ms
autoptimize_single_20e8490fab0dcf7557a5c8b54494db6f.css
296 ms
autoptimize_single_359aca8a88b2331aa34ac505acad9911.css
297 ms
autoptimize_single_15a5edb399271f812847871978ee6cf5.css
299 ms
autoptimize_single_1c86eae769594960ac0ca2c97f1e0fd8.css
298 ms
autoptimize_single_2a5e39f8b6d672cc913b2abf3c5d4cd4.css
299 ms
autoptimize_single_55a54f958c00ab3123d151720e46c3d8.css
398 ms
autoptimize_single_54d4eedc552c499c4a8d6b89c23d3df1.css
393 ms
dashicons.min.css
493 ms
autoptimize_single_48c9592b222fcdcf4b21e2cd908257a1.css
397 ms
autoptimize_single_3b2fa04d51b51aedbe93955996b9e44d.css
397 ms
autoptimize_single_bb4dfbdde8f2a8d4018c1f0293a03483.css
404 ms
autoptimize_single_cb50f007a6f608dba3accc196e2be441.css
490 ms
autoptimize_single_06a67acea628d335749c7963e66fb5c3.css
494 ms
simple-restrict-public.css
495 ms
autoptimize_single_279a41fe094a1c0ff59f6d84dc6ec0d2.css
495 ms
autoptimize_single_35d9c1d2f0893692d9c58ff603cfd979.css
497 ms
autoptimize_single_1f8e5e6800d697588f284315c2503385.css
588 ms
autoptimize_single_00f423c66805b4bbef8814e38eed36bd.css
595 ms
autoptimize_single_fa10e481239e720ff6a5ca15e398fb21.css
604 ms
owl.carousel.min.css
592 ms
autoptimize_single_bd3782e9d4788cfcba51e14f7b8db924.css
605 ms
css
50 ms
fadeInUp.min.css
606 ms
swiper.min.css
684 ms
e-swiper.min.css
690 ms
frontend.min.css
692 ms
widget-slides.min.css
695 ms
widget-video.min.css
696 ms
elementor-icons.min.css
696 ms
autoptimize_single_cc3321fd0dcaffe3e3c1c4085f10ebc7.css
782 ms
widget-heading.min.css
788 ms
widget-image.min.css
789 ms
widget-text-editor.min.css
791 ms
e-animation-grow.min.css
792 ms
css
44 ms
css
46 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgQ2xpX0RhdGEgPSB7Im5uX2Nvb2tpZV9pZHMiOltdLCJjb29raWVsaXN0IjpbXSwibm9uX25lY2Vzc2FyeV9jb29raWVzIjpbXSwiY2NwYUVuYWJsZWQiOiIiLCJjY3BhUmVnaW9uQmFzZWQiOiIiLCJjY3BhQmFyRW5hYmxlZCI6IiIsInN0cmljdGx5RW5hYmxlZCI6WyJuZWNlc3NhcnkiLCJvYmxpZ2F0b2lyZSJdLCJjY3BhVHlwZSI6ImdkcHIiLCJqc19ibG9ja2luZyI6IjEiLCJjdXN0b21faW50ZWdyYXRpb24iOiIiLCJ0cmlnZ2VyRG9tUmVmcmVzaCI6IiIsInNlY3VyZV9jb29raWVzIjoiIn07CnZhciBjbGlfY29va2llYmFyX3NldHRpbmdzID0geyJhbmltYXRlX3NwZWVkX2hpZGUiOiI1MDAiLCJhbmltYXRlX3NwZWVkX3Nob3ciOiI1MDAiLCJiYWNrZ3JvdW5kIjoiIzUxODRiMyIsImJvcmRlciI6IiNiMWE2YTZjMiIsImJvcmRlcl9vbiI6IiIsImJ1dHRvbl8xX2J1dHRvbl9jb2xvdXIiOiIjMjA2YmIyIiwiYnV0dG9uXzFfYnV0dG9uX2hvdmVyIjoiIzFhNTY4ZSIsImJ1dHRvbl8xX2xpbmtfY29sb3VyIjoiI2ZmZiIsImJ1dHRvbl8xX2FzX2J1dHRvbiI6IjEiLCJidXR0b25fMV9uZXdfd2luIjoiIiwiYnV0dG9uXzJfYnV0dG9uX2NvbG91ciI6IiMzMzMiLCJidXR0b25fMl9idXR0b25faG92ZXIiOiIjMjkyOTI5IiwiYnV0dG9uXzJfbGlua19jb2xvdXIiOiIjNDQ0IiwiYnV0dG9uXzJfYXNfYnV0dG9uIjoiIiwiYnV0dG9uXzJfaGlkZWJhciI6IiIsImJ1dHRvbl8zX2J1dHRvbl9jb2xvdXIiOiIjZGVkZmUwIiwiYnV0dG9uXzNfYnV0dG9uX2hvdmVyIjoiI2IyYjJiMyIsImJ1dHRvbl8zX2xpbmtfY29sb3VyIjoiIzMzMzMzMyIsImJ1dHRvbl8zX2FzX2J1dHRvbiI6IjEiLCJidXR0b25fM19uZXdfd2luIjoiIiwiYnV0dG9uXzRfYnV0dG9uX2NvbG91ciI6IiNkZWRmZTAiLCJidXR0b25fNF9idXR0b25faG92ZXIiOiIjYjJiMmIzIiwiYnV0dG9uXzRfbGlua19jb2xvdXIiOiIjMzMzMzMzIiwiYnV0dG9uXzRfYXNfYnV0dG9uIjoiMSIsImJ1dHRvbl83X2J1dHRvbl9jb2xvdXIiOiIjMjA2YmIyIiwiYnV0dG9uXzdfYnV0dG9uX2hvdmVyIjoiIzFhNTY4ZSIsImJ1dHRvbl83X2xpbmtfY29sb3VyIjoiI2ZmZiIsImJ1dHRvbl83X2FzX2J1dHRvbiI6IjEiLCJidXR0b25fN19uZXdfd2luIjoiIiwiZm9udF9mYW1pbHkiOiJIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiLCJoZWFkZXJfZml4IjoiIiwibm90aWZ5X2FuaW1hdGVfaGlkZSI6IjEiLCJub3RpZnlfYW5pbWF0ZV9zaG93IjoiIiwibm90aWZ5X2Rpdl9pZCI6IiNjb29raWUtbGF3LWluZm8tYmFyIiwibm90aWZ5X3Bvc2l0aW9uX2hvcml6b250YWwiOiJyaWdodCIsIm5vdGlmeV9wb3NpdGlvbl92ZXJ0aWNhbCI6ImJvdHRvbSIsInNjcm9sbF9jbG9zZSI6IiIsInNjcm9sbF9jbG9zZV9yZWxvYWQiOiIiLCJhY2NlcHRfY2xvc2VfcmVsb2FkIjoiIiwicmVqZWN0X2Nsb3NlX3JlbG9hZCI6IiIsInNob3dhZ2Fpbl90YWIiOiIiLCJzaG93YWdhaW5fYmFja2dyb3VuZCI6IiNmZmYiLCJzaG93YWdhaW5fYm9yZGVyIjoiIzAwMCIsInNob3dhZ2Fpbl9kaXZfaWQiOiIjY29va2llLWxhdy1pbmZvLWFnYWluIiwic2hvd2FnYWluX3hfcG9zaXRpb24iOiIxMDBweCIsInRleHQiOiIjZmZmZmZmIiwic2hvd19vbmNlX3luIjoiIiwic2hvd19vbmNlIjoiMTAwMDAiLCJsb2dnaW5nX29uIjoiIiwiYXNfcG9wdXAiOiIiLCJwb3B1cF9vdmVybGF5IjoiMSIsImJhcl9oZWFkaW5nX3RleHQiOiJDb29raWUgTm90aWNlIiwiY29va2llX2Jhcl9hcyI6InBvcHVwIiwicG9wdXBfc2hvd2FnYWluX3Bvc2l0aW9uIjoiYm90dG9tLXJpZ2h0Iiwid2lkZ2V0X3Bvc2l0aW9uIjoibGVmdCJ9Owp2YXIgbG9nX29iamVjdCA9IHsiYWpheF91cmwiOiJodHRwczpcL1wvcm9ic25vdy5ldVwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIn07Ci8qIF1dPiAqLwo=
8 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd2NfYWRkX3RvX2NhcnRfcGFyYW1zID0geyJhamF4X3VybCI6Ilwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwid2NfYWpheF91cmwiOiJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSIsImkxOG5fdmlld19jYXJ0IjoiVmlldyBiYXNrZXQiLCJjYXJ0X3VybCI6Imh0dHBzOlwvXC9yb2Jzbm93LmV1XC9zaG9wXC9jYXJ0XC8iLCJpc19jYXJ0IjoiIiwiY2FydF9yZWRpcmVjdF9hZnRlcl9hZGQiOiJubyJ9OwovKiBdXT4gKi8K
9 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd29vY29tbWVyY2VfcGFyYW1zID0geyJhamF4X3VybCI6Ilwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwid2NfYWpheF91cmwiOiJcLz93Yy1hamF4PSUlZW5kcG9pbnQlJSJ9OwovKiBdXT4gKi8K
9 ms
s-202444.js
25 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpe30pOwovKiBdXT4gKi8K
9 ms
js
95 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTtmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9Cmd0YWcoInNldCIsImxpbmtlciIseyJkb21haW5zIjpbInJvYnNub3cuZXUiXX0pOwpndGFnKCJqcyIsIG5ldyBEYXRlKCkpOwpndGFnKCJzZXQiLCAiZGV2ZWxvcGVyX2lkLmRaVE5pTVQiLCB0cnVlKTsKZ3RhZygiY29uZmlnIiwgIkctS1k2UTZKNVdIMyIpOwovKiBdXT4gKi8K
9 ms
javascript;base64,DQohZnVuY3Rpb24oZSl7aWYoIXdpbmRvdy5waW50cmspe3dpbmRvdy5waW50cmsgPSBmdW5jdGlvbiAoKSB7DQp3aW5kb3cucGludHJrLnF1ZXVlLnB1c2goQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9O3Zhcg0KICBuPXdpbmRvdy5waW50cms7bi5xdWV1ZT1bXSxuLnZlcnNpb249IjMuMCI7dmFyDQogIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dC5hc3luYz0hMCx0LnNyYz1lO3Zhcg0KICByPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgci5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0LHIpfX0oImh0dHBzOi8vcy5waW5pbWcuY29tL2N0L2NvcmUuanMiKTsNCnBpbnRyaygnbG9hZCcsICcyNjE0MzM3NjE1OTU2Jywge2VtOiAnPHVzZXJfZW1haWxfYWRkcmVzcz4nfSk7DQpwaW50cmsoJ3BhZ2UnKTsNCg==
9 ms
javascript;base64,DQpwaW50cmsoJ3RyYWNrJywgJ3BhZ2V2aXNpdCcpOw0K
9 ms
js
132 ms
javascript;base64,DQogIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOw0KICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9DQogIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7DQoNCiAgZ3RhZygnY29uZmlnJywgJ1VBLTE4OTM5OTUtMicpOw0K
8 ms
javascript;base64,CgkJCQl2YXIgX2hzcSA9IF9oc3EgfHwgW107CgkJCQlfaHNxLnB1c2goWyJzZXRDb250ZW50VHlwZSIsICJzdGFuZGFyZC1wYWdlIl0pOwoJCQk=
8 ms
javascript;base64,CiAgICAgICAgdmFyIGFqYXh1cmwgPSAnaHR0cHM6Ly9yb2Jzbm93LmV1L3dwLWFkbWluL2FkbWluLWFqYXgucGhwJzsKICAgIA==
8 ms
javascript;base64,CgkJCWpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7CgkJCQluZXcgVHlwZWQoIiN0eXBlZC1zdHJpbmdzLTJhZDNkNDIiLCB7CgkJCQkJJ2N1cnNvckNoYXInOiAnfCcsIAoJCQkJCSdiYWNrU3BlZWQnOiA3MCwgIAoJCQkJCSdiYWNrRGVsYXknOiA1MTAsIAoJCQkJCSdzdGFydERlbGF5JzogMzEwLCAKCQkJCQkndHlwZVNwZWVkJzogNzAsICAKCQkJCQknbG9vcCc6IHRydWUsCgkJCQkJJ3N0cmluZ3MnOiBbImdvaW5nIHRvIGxvb2sgZ3JlYXQiLCJpbiBnb29kIGhhbmRzIiwib25lIHN0ZXAgYXdheSIsInJlYWR5IGZvciB0aGUgcm9iIGFydCB0b3VjaCIsXQoJCQkJfSk7CgkJCX0pOwoJCQ==
7 ms
javascript;base64,DQogICAgICAgICAgICB3aW5kb3cuX19icF9zZXNzaW9uX3RpbWVvdXQgPSAnOTAwJzsNCiAgICAgICAgICAgIHdpbmRvdy5fX2JwX3Nlc3Npb25fZnJlZXppbmcgPSAwOw0KICAgICAgICAgICAgd2luZG93LmJpenBhbmRhfHwod2luZG93LmJpenBhbmRhPXt9KSx3aW5kb3cuYml6cGFuZGEuYnBfY2FuX3N0b3JlX2xvY2FseT1mdW5jdGlvbigpe3JldHVybiExfSx3aW5kb3cuYml6cGFuZGEuYnBfdXRfZ2V0X2Nvb2tpZT1mdW5jdGlvbihlKXtmb3IodmFyIG49ZSsiPSIsaT1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKSxvPTA7bzxpLmxlbmd0aDtvKyspe2Zvcih2YXIgdD1pW29dOyIgIj09dC5jaGFyQXQoMCk7KXQ9dC5zdWJzdHJpbmcoMSk7aWYoMD09dC5pbmRleE9mKG4pKXJldHVybiBkZWNvZGVVUklDb21wb25lbnQodC5zdWJzdHJpbmcobi5sZW5ndGgsdC5sZW5ndGgpKX1yZXR1cm4hMX0sd2luZG93LmJpenBhbmRhLmJwX3V0X3NldF9jb29raWU9ZnVuY3Rpb24oZSxuLGkpe3ZhciBvPW5ldyBEYXRlO28uc2V0VGltZShvLmdldFRpbWUoKSsyNCppKjYwKjYwKjFlMyk7dmFyIHQ9ImV4cGlyZXM9IitvLnRvVVRDU3RyaW5nKCk7ZG9jdW1lbnQuY29va2llPWUrIj0iK2VuY29kZVVSSUNvbXBvbmVudChuKSsiOyAiK3QrIjsgcGF0aD0vIn0sd2luZG93LmJpenBhbmRhLmJwX3V0X2dldF9vYmo9ZnVuY3Rpb24oZSl7dmFyIG49bnVsbDtpZighKG49d2luZG93LmJpenBhbmRhLmJwX2Nhbl9zdG9yZV9sb2NhbHkoKT93aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oImJwX3V0X3Nlc3Npb24iKTp3aW5kb3cuYml6cGFuZGEuYnBfdXRfZ2V0X2Nvb2tpZSgiYnBfdXRfc2Vzc2lvbiIpKSlyZXR1cm4hMTtuPShuPW4ucmVwbGFjZSgvXC1jXC0vZywiLCIpKS5yZXBsYWNlKC9cLXFcLS9nLCciJyk7dHJ5e249SlNPTi5wYXJzZShuKX1jYXRjaChlKXtyZXR1cm4hMX1yZXR1cm4gbi5zdGFydGVkKzFlMyplPChuZXcgRGF0ZSkuZ2V0VGltZSgpJiYobj1udWxsKSxufSx3aW5kb3cuYml6cGFuZGEuYnBfdXRfc2V0X29iaj1mdW5jdGlvbihlLG4pe2Uuc3RhcnRlZCYmd2luZG93Ll9fYnBfc2Vzc2lvbl9mcmVlemluZ3x8KGUuc3RhcnRlZD0obmV3IERhdGUpLmdldFRpbWUoKSksKGU9SlNPTi5zdHJpbmdpZnkoZSkpJiYoZT0oZT1lLnJlcGxhY2UoL1wiL2csIi1xLSIpKS5yZXBsYWNlKC9cLC9nLCItYy0iKSksd2luZG93LmJpenBhbmRhLmJwX2Nhbl9zdG9yZV9sb2NhbHkoKT93aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oImJwX3V0X3Nlc3Npb24iLGUpOndpbmRvdy5iaXpwYW5kYS5icF91dF9zZXRfY29va2llKCJicF91dF9zZXNzaW9uIixlLDVlMyl9LHdpbmRvdy5iaXpwYW5kYS5icF91dF9jb3VudF9wYWdldmlldz1mdW5jdGlvbigpe3ZhciBlPXdpbmRvdy5iaXpwYW5kYS5icF91dF9nZXRfb2JqKHdpbmRvdy5fX2JwX3Nlc3Npb25fdGltZW91dCk7ZXx8KGU9e30pLGUucGFnZXZpZXdzfHwoZS5wYWdldmlld3M9MCksMD09PWUucGFnZXZpZXdzJiYoZS5yZWZlcnJlcj1kb2N1bWVudC5yZWZlcnJlcixlLmxhbmRpbmdQYWdlPXdpbmRvdy5sb2NhdGlvbi5ocmVmLGUucGFnZXZpZXdzPTApLGUucGFnZXZpZXdzKyssd2luZG93LmJpenBhbmRhLmJwX3V0X3NldF9vYmooZSl9LHdpbmRvdy5iaXpwYW5kYS5icF91dF9jb3VudF9sb2NrZXJfcGFnZXZpZXc9ZnVuY3Rpb24oKXt2YXIgZT13aW5kb3cuYml6cGFuZGEuYnBfdXRfZ2V0X29iaih3aW5kb3cuX19icF90aW1lb3V0KTtlfHwoZT17fSksZS5sb2NrZXJQYWdldmlld3N8fChlLmxvY2tlclBhZ2V2aWV3cz0wKSxlLmxvY2tlclBhZ2V2aWV3cysrLHdpbmRvdy5iaXpwYW5kYS5icF91dF9zZXRfb2JqKGUpfSx3aW5kb3cuYml6cGFuZGEuYnBfdXRfY291bnRfcGFnZXZpZXcoKTsNCiAgICAgICAg
3 ms
javascript;base64,DQoJCS8qPCFbQ0RBVEFbKi8NCgkJdmFyIGdtYXBzdHlsZXMgPSAnZGVmYXVsdCc7DQoJCS8qIF1dPiAqLw0KCQk=
0 ms
javascript;base64,CiAgICAgICAgICAgIGZ1bmN0aW9uIHN0b3BQcm50U2NyKCkgewogICAgICAgICAgICAgICAgdmFyIGlucEZsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CiAgICAgICAgICAgICAgICBpbnBGbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJBY2Nlc3MgRGVuaWVkIik7CiAgICAgICAgICAgICAgICBpbnBGbGQuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIwIik7CiAgICAgICAgICAgICAgICBpbnBGbGQuc3R5bGUuaGVpZ2h0ID0gIjBweCI7CiAgICAgICAgICAgICAgICBpbnBGbGQuc3R5bGUud2lkdGggPSAiMHB4IjsKICAgICAgICAgICAgICAgIGlucEZsZC5zdHlsZS5ib3JkZXIgPSAiMHB4IjsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wRmxkKTsKICAgICAgICAgICAgICAgIGlucEZsZC5zZWxlY3QoKTsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5Iik7CiAgICAgICAgICAgICAgICBpbnBGbGQucmVtb3ZlKGlucEZsZCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIChmdW5jdGlvbiAoJCkgewogICAgICAgICAgICAgICAgJ3VzZSBzdHJpY3QnOwogICAgICAgICAgICAgICAgJChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgbGV0IGFsbCA9ICQoJyonKS5ub3QoJ3NjcmlwdCwgbWV0YSwgbGluaywgc3R5bGUsIG5vc2NyaXB0LCB0aXRsZScpLAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwID0gJCgnI2F5c190b29sdGlwJyksCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBDbGFzcyA9ICJtb3VzZSI7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRvb2x0aXBDbGFzcyA9PSAibW91c2UiIHx8IHRvb2x0aXBDbGFzcyA9PSAibW91c2VfZmlyc3RfcG9zIikgewogICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbignbW91c2Vtb3ZlJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjb3JkaW5hdGVfeCA9IGUucGFnZVg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29yZGluYXRlX3kgPSBlLnBhZ2VZOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHdpbmRvd1dpZHRoID0gJCh3aW5kb3cpLndpZHRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29yZGluYXRlX3kgPCB0b29sdGlwLm91dGVySGVpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwLmNzcyh7J3RvcCc6IChjb3JkaW5hdGVfeSArIDEwKSArICdweCd9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcC5jc3Moeyd0b3AnOiAoY29yZGluYXRlX3kgLSB0b29sdGlwLm91dGVySGVpZ2h0KCkpICsgJ3B4J30pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvcmRpbmF0ZV94ID4gKHdpbmRvd1dpZHRoIC0gdG9vbHRpcC5vdXRlcldpZHRoKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcC5jc3MoeydsZWZ0JzogKGNvcmRpbmF0ZV94IC0gdG9vbHRpcC5vdXRlcldpZHRoKCkpICsgJ3B4J30pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwLmNzcyh7J2xlZnQnOiAoY29yZGluYXRlX3ggKyA1KSArICdweCd9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXAuYWRkQ2xhc3ModG9vbHRpcENsYXNzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAJCQkJICAgICAgICAgICAgICAgICAgICAkKHdpbmRvdykub24oJ2tleXVwJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGtleUNvZGUgPSBlLmtleUNvZGUgPyBlLmtleUNvZGUgOiBlLndoaWNoOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5Q29kZSA9PSA0NCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcFBybnRTY3IoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgIAkJCQkKCiAgICAJCQkJICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbignY29udGV4dG1lbnUnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gJChldmVudC50YXJnZXQpOwogICAgICAgICAgICAgICAgICAgICAgICBsZXQgdCA9IGUgfHwgd2luZG93LmV2ZW50OwogICAgICAgICAgICAgICAgICAgICAgICBsZXQgbiA9IHQudGFyZ2V0IHx8IHQuc3JjRWxlbWVudDsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0YXJnZXQuaXMoIiIpICYmICghdGFyZ2V0LmlzKCIxIikgJiYgIXRhcmdldC5pcygiaW1nIikpICYmICghdGFyZ2V0LmlzKCIiKSAmJiAhdGFyZ2V0LmlzKCJhIikgJiYgbi5wYXJlbnRFbGVtZW50Lm5vZGVOYW1lICE9PSAiQSIpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4ubm9kZU5hbWUgIT09ICJBIiApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgCSAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjb250ZXh0bWVudScsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSAkKGV2ZW50LnRhcmdldCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQuaXMoImltZyIpIHx8IHRhcmdldC5pcygiZGl2LmF5c190b29sdGlwX2NsYXNzIikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0ID0gZSB8fCB3aW5kb3cuZXZlbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbiA9IHQudGFyZ2V0IHx8IHQuc3JjRWxlbWVudDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuLm5vZGVOYW1lICE9PSAiQSIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIAogICAgCSAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgCQkJCSAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oJ2RyYWdzdGFydCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0YXJnZXQuaXMoIiIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAJCQkJCiAgICAJCQkJCiAgICAgICAgICAgICAgICAgICAgJCh3aW5kb3cpLm9uKCdrZXlkb3duJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2NwX3NlbE9iaiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNoZWNrX3NlbGVjdG9ycyA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc2NjcF9zZWxPYmoucmFuZ2VDb3VudCA8IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2NwX3NlbFJhbmdlID0gc2NjcF9zZWxPYmouZ2V0UmFuZ2VBdCgwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2NwX3NlbGVjdGlvbl9zZWxlY3RvciA9IHNjY3Bfc2VsUmFuZ2Uuc3RhcnRDb250YWluZXIucGFyZW50RWxlbWVudDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX3NlbGVjdG9ycyA9ICEkKHNjY3Bfc2VsZWN0aW9uX3NlbGVjdG9yKS5pcygiIik7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja19zZWxlY3RvcnMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc09wZXJhID0gKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PT0gIk9wZXJhIik7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzRmlyZWZveCA9IChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgPT09ICdGaXJlZm94Jyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzU2FmYXJpID0gKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PT0gJ1NhZmFyaScpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc0lFID0gKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PT0gJ0V4cGxvcmVyJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNDaHJvbWUgPSAoQnJvd3NlckRldGVjdC5icm93c2VyID09PSAnQ2hyb21lJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNNb3ppbGxhID0gKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PT0gJ01vemlsbGEnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQnJvd3NlckRldGVjdC5PUyA9PT0gJ1dpbmRvd3MnKSB7CiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNDaHJvbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgoZXZlbnQuY3RybEtleSAmJiBldmVudC5zaGlmdEtleSkgJiYgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc0IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA2OCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNjcpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0ZpcmVmb3gpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgoZXZlbnQuY3RybEtleSAmJiBldmVudC5zaGlmdEtleSkgJiYgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc0IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA2NyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzUgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDY5KSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDExOCB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IDExMiAmJiBldmVudC5zaGlmdEtleSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC5rZXlDb2RlID09PSAxMTUgJiYgZXZlbnQuc2hpZnRLZXkpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA9PT0gMTE4ICYmIGV2ZW50LnNoaWZ0S2V5KSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IDEyMCAmJiBldmVudC5zaGlmdEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNPcGVyYSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnNoaWZ0S2V5KSAmJiAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA3MyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzQgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDY3IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA4OCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNjkpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0lFKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gMTIzICYmIGV2ZW50LnNoaWZ0S2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNNb3ppbGxhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXlDb2RlID09PSA3MykgfHwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IDY4KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4MyAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gNjUgJiYgZXZlbnQuY3RybEtleSkpIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShldmVudC50YXJnZXQubm9kZU5hbWUgPT0gJ0lOUFVUJyB8fCBldmVudC50YXJnZXQubm9kZU5hbWUgPT0gJ1RFWFRBUkVBJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gNjcgJiYgZXZlbnQuY3RybEtleSAmJiAhZXZlbnQuc2hpZnRLZXkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnSU5QVVQnIHx8IGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnVEVYVEFSRUEnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODYgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnSU5QVVQnIHx8IGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnVEVYVEFSRUEnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDg4ICYmIGV2ZW50LmN0cmxLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShldmVudC50YXJnZXQubm9kZU5hbWUgPT0gJ0lOUFVUJyB8fCBldmVudC50YXJnZXQubm9kZU5hbWUgPT0gJ1RFWFRBUkVBJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4NSAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDgwICYmIGV2ZW50LmN0cmxLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMjMgfHwgKGV2ZW50LmtleUNvZGUgPT09IDEyMyAmJiBldmVudC5zaGlmdEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQnJvd3NlckRldGVjdC5PUyA9PT0gJ0xpbnV4JykgewogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQ2hyb21lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQuY3RybEtleSAmJiBldmVudC5zaGlmdEtleSkgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzQgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNjcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXlDb2RlID09PSA4NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzRmlyZWZveCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnNoaWZ0S2V5KSAmJiAoZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwgZXZlbnQua2V5Q29kZSA9PT0gNzQgfHwgZXZlbnQua2V5Q29kZSA9PT0gNjcgfHwgZXZlbnQua2V5Q29kZSA9PT0gNzUgfHwgZXZlbnQua2V5Q29kZSA9PT0gNjkpKSB8fCBldmVudC5rZXlDb2RlID09PSAxMTggfHwgZXZlbnQua2V5Q29kZSA9PT0gMTE2IHx8IChldmVudC5rZXlDb2RlID09PSAxMTIgJiYgZXZlbnQuc2hpZnRLZXkpIHx8IChldmVudC5rZXlDb2RlID09PSAxMTUgJiYgZXZlbnQuc2hpZnRLZXkpIHx8IChldmVudC5rZXlDb2RlID09PSAxMTggJiYgZXZlbnQuc2hpZnRLZXkpIHx8IChldmVudC5rZXlDb2RlID09PSAxMjAgJiYgZXZlbnQuc2hpZnRLZXkpIHx8IChldmVudC5rZXlDb2RlID09PSA4NSAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc09wZXJhKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkpICYmIChldmVudC5rZXlDb2RlID09PSA3MyB8fCBldmVudC5rZXlDb2RlID09PSA3NCB8fCBldmVudC5rZXlDb2RlID09PSA2NyB8fCBldmVudC5rZXlDb2RlID09PSA4OCB8fCBldmVudC5rZXlDb2RlID09PSA2OSkpIHx8IChldmVudC5jdHJsS2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IDg1KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4MyAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSA2NSAmJiBldmVudC5jdHJsS2V5KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShldmVudC50YXJnZXQubm9kZU5hbWUgPT0gJ0lOUFVUJyB8fCBldmVudC50YXJnZXQubm9kZU5hbWUgPT0gJ1RFWFRBUkVBJykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gNjcgJiYgZXZlbnQuY3RybEtleSAmJiAhZXZlbnQuc2hpZnRLZXkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnSU5QVVQnIHx8IGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnVEVYVEFSRUEnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODYgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnSU5QVVQnIHx8IGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnVEVYVEFSRUEnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODggJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnSU5QVVQnIHx8IGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9PSAnVEVYVEFSRUEnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODUgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4MCAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gMTIzIHx8IChldmVudC5rZXlDb2RlID09PSAxMjMgJiYgZXZlbnQuc2hpZnRLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKEJyb3dzZXJEZXRlY3QuT1MgPT09ICdNYWMnKSB7CiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNDaHJvbWUgfHwgaXNTYWZhcmkgfHwgaXNPcGVyYSB8fCBpc0ZpcmVmb3gpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50Lm1ldGFLZXkgJiYgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc0IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA2OSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDgzICYmIGV2ZW50Lm1ldGFLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA2NSAmJiBldmVudC5tZXRhS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdJTlBVVCcgfHwgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdURVhUQVJFQScpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA2NyAmJiBldmVudC5tZXRhS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdJTlBVVCcgfHwgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdURVhUQVJFQScpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4NiAmJiBldmVudC5tZXRhS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdJTlBVVCcgfHwgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdURVhUQVJFQScpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4OCAmJiBldmVudC5tZXRhS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdJTlBVVCcgfHwgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdURVhUQVJFQScpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4NSAmJiBldmVudC5tZXRhS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDgwICYmIGV2ZW50Lm1ldGFLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMjMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkaXNhYmxlU2VsZWN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBlLm9uc2VsZWN0c3RhcnQgIT09ICJ1bmRlZmluZWQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5vbnNlbGVjdHN0YXJ0ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCggKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgZS5zdHlsZS5Nb3pVc2VyU2VsZWN0ICE9PSAidW5kZWZpbmVkIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3R5bGUuTW96VXNlclNlbGVjdCA9ICJub25lIjsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBlLm9ubW91c2Vkb3duID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3R5bGUuY3Vyc29yID0gImRlZmF1bHQiCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB2YXIgbXNnX2NvdW50ID0gMTsgCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2hvd190b29sdGlwKG1lc3MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lc3MgJiYgbXNnX2NvdW50ID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b29sdGlwQ2xhc3MgPT0gJ21vdXNlX2ZpcnN0X3BvcycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnI2F5c190b29sdGlwMicpLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2F5c190b29sdGlwMicpLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdG9vbHRpcDIgPSB0b29sdGlwLmNsb25lKCkucHJvcCgnaWQnLCdheXNfdG9vbHRpcDInKS5pbnNlcnRCZWZvcmUodG9vbHRpcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2F5c190b29sdGlwMicpLmFkZENsYXNzKCdheXNfdG9vbHRpcF9jbGFzcycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXAyLmNzcyh7J2Rpc3BsYXknOiAndGFibGUnfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2F5c190b29sdGlwJykuZmFkZU91dCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwMi5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXAuY3NzKHsnZGlzcGxheSc6ICd0YWJsZSd9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2F5c190b29sdGlwJykuZmFkZU91dCgxMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGF1ZGlvX3BsYXkoYXVkaW8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF1ZGlvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgYXVkaW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2NjcF9wdWJsaWNfYXVkaW8iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdWRpbykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvLmN1cnJlbnRUaW1lID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpby5wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSkoalF1ZXJ5KTsKICAgICAgICAgICAgdmFyIGNvcHlyaWdodFRleHQgPSAnJzsKICAgICAgICAgICAgdmFyIGNvcHlyaWdodEluY2x1ZGVVcmwgPSAnJzsKICAgICAgICAgICAgdmFyIGNvcHlyaWdodFdvcmQgPSAnJzsKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIGZ1bmN0aW9uIGNvcHlUb0NsaXBib2FyZCh0ZXh0KSB7CiAgICAgICAgICAgICAgICB2YXIgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOwogICAgICAgICAgICAgICAgdGV4dGFyZWEudGV4dENvbnRlbnQgPSB0ZXh0OwogICAgICAgICAgICAgICAgdGV4dGFyZWEuc3R5bGUucG9zaXRpb24gPSAiZml4ZWQiOwogICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0YXJlYSk7CiAgICAgICAgICAgICAgICB0ZXh0YXJlYS5zZWxlY3QoKTsKICAgICAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjdXQiKTsKICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCJDb3B5IHRvIGNsaXBib2FyZCBmYWlsZWQuIiwgZXgpOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0YXJlYSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZ1bmN0aW9uIGh0bWxEZWNvZGUoaW5wdXQpIHsKICAgICAgICAgICAgICB2YXIgZG9jID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhpbnB1dCwgInRleHQvaHRtbCIpOwogICAgICAgICAgICAgIHJldHVybiBkb2MuZG9jdW1lbnRFbGVtZW50LnRleHRDb250ZW50OwogICAgICAgICAgICB9CgogICAgICAgICAgICB2YXIgQnJvd3NlckRldGVjdCA9IHsKICAgICAgICAgICAgICAgIGluaXQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmJyb3dzZXIgPSB0aGlzLnNlYXJjaFN0cmluZyh0aGlzLmRhdGFCcm93c2VyKSB8fCAiQW4gdW5rbm93biBicm93c2VyIjsKICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcnNpb24gPSB0aGlzLnNlYXJjaFZlcnNpb24obmF2aWdhdG9yLnVzZXJBZ2VudCkgfHwgdGhpcy5zZWFyY2hWZXJzaW9uKG5hdmlnYXRvci5hcHBWZXJzaW9uKSB8fCAiYW4gdW5rbm93biB2ZXJzaW9uIjsKICAgICAgICAgICAgICAgICAgICB0aGlzLk9TID0gdGhpcy5zZWFyY2hTdHJpbmcodGhpcy5kYXRhT1MpIHx8ICJhbiB1bmtub3duIE9TIjsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzZWFyY2hTdHJpbmc6IGZ1bmN0aW9uIChkYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYXRhU3RyaW5nID0gZGF0YVtpXS5zdHJpbmc7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYXRhUHJvcCA9IGRhdGFbaV0ucHJvcDsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJzaW9uU2VhcmNoU3RyaW5nID0gZGF0YVtpXS52ZXJzaW9uU2VhcmNoIHx8IGRhdGFbaV0uaWRlbnRpdHk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhU3RyaW5nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YVN0cmluZy5pbmRleE9mKGRhdGFbaV0uc3ViU3RyaW5nKSAhPT0gLTEpIHJldHVybiBkYXRhW2ldLmlkZW50aXR5OwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGFQcm9wKSByZXR1cm4gZGF0YVtpXS5pZGVudGl0eTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgc2VhcmNoVmVyc2lvbjogZnVuY3Rpb24gKGRhdGFTdHJpbmcpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgaW5kZXggPSBkYXRhU3RyaW5nLmluZGV4T2YodGhpcy52ZXJzaW9uU2VhcmNoU3RyaW5nKTsKICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQoZGF0YVN0cmluZy5zdWJzdHJpbmcoaW5kZXggKyB0aGlzLnZlcnNpb25TZWFyY2hTdHJpbmcubGVuZ3RoICsgMSkpOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGRhdGFCcm93c2VyOiBbewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJDaHJvbWUiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiQ2hyb21lIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJPbW5pV2ViIiwKICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uU2VhcmNoOiAiT21uaVdlYi8iLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiT21uaVdlYiIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci52ZW5kb3IsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiQXBwbGUiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiU2FmYXJpIiwKICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uU2VhcmNoOiAiVmVyc2lvbiIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBwcm9wOiB3aW5kb3cub3BlcmEsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJPcGVyYSIsCiAgICAgICAgICAgICAgICAgICAgdmVyc2lvblNlYXJjaDogIlZlcnNpb24iCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudmVuZG9yLAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogImlDYWIiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiaUNhYiIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci52ZW5kb3IsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiS0RFIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIktvbnF1ZXJvciIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiRmlyZWZveCIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJGaXJlZm94IgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnZlbmRvciwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJDYW1pbm8iLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiQ2FtaW5vIgogICAgICAgICAgICAgICAgfSwgeyAvLyBmb3IgbmV3ZXIgTmV0c2NhcGVzICg2KykKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiTmV0c2NhcGUiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiTmV0c2NhcGUiCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIk1TSUUiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiRXhwbG9yZXIiLAogICAgICAgICAgICAgICAgICAgIHZlcnNpb25TZWFyY2g6ICJNU0lFIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJHZWNrbyIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJNb3ppbGxhIiwKICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uU2VhcmNoOiAicnYiCiAgICAgICAgICAgICAgICB9LCB7IC8vIGZvciBvbGRlciBOZXRzY2FwZXMgKDQtKQogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJNb3ppbGxhIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIk5ldHNjYXBlIiwKICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uU2VhcmNoOiAiTW96aWxsYSIKICAgICAgICAgICAgICAgIH1dLAogICAgICAgICAgICAgICAgZGF0YU9TOiBbewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnBsYXRmb3JtLAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIldpbiIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJXaW5kb3dzIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnBsYXRmb3JtLAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIk1hYyIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJNYWMiCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogImlQaG9uZSIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJpUGhvbmUvaVBvZCIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci5wbGF0Zm9ybSwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJMaW51eCIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJMaW51eCIKICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIEJyb3dzZXJEZXRlY3QuaW5pdCgpOwogICAgICAgIC8vIH0sIGZhbHNlKTsKICAgIA==
9 ms
javascript;base64,DQoJCQkJdmFyIF9wYXEgPSBfcGFxIHx8IFtdOw0KCQkJCQkJCQlfcGFxLnB1c2goWyd0cmFja1BhZ2VWaWV3J10pOw0KCQkJCQkJCQkoZnVuY3Rpb24gKCkgew0KCQkJCQl2YXIgdSA9ICJodHRwczovL3N0YXRzMS53cG11ZGV2LmNvbS8iOw0KCQkJCQlfcGFxLnB1c2goWydzZXRUcmFja2VyVXJsJywgdSArICd0cmFjay8nXSk7DQoJCQkJCV9wYXEucHVzaChbJ3NldFNpdGVJZCcsICcxNDI3NzknXSk7DQoJCQkJCXZhciBkICAgPSBkb2N1bWVudCwgZyA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0JyksIHMgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTsNCgkJCQkJZy50eXBlICA9ICd0ZXh0L2phdmFzY3JpcHQnOw0KCQkJCQlnLmFzeW5jID0gdHJ1ZTsNCgkJCQkJZy5kZWZlciA9IHRydWU7DQoJCQkJCWcuc3JjICAgPSAnaHR0cHM6Ly9zdGF0cy53cG11Y2RuLmNvbS9hbmFseXRpY3MuanMnOw0KCQkJCQlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsIHMpOw0KCQkJCX0pKCk7DQoJCQk=
8 ms
javascript;base64,CgkJCQljb25zdCBsYXp5bG9hZFJ1bk9ic2VydmVyID0gKCkgPT4gewoJCQkJCWNvbnN0IGxhenlsb2FkQmFja2dyb3VuZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCBgLmUtY29uLmUtcGFyZW50Om5vdCguZS1sYXp5bG9hZGVkKWAgKTsKCQkJCQljb25zdCBsYXp5bG9hZEJhY2tncm91bmRPYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlciggKCBlbnRyaWVzICkgPT4gewoJCQkJCQllbnRyaWVzLmZvckVhY2goICggZW50cnkgKSA9PiB7CgkJCQkJCQlpZiAoIGVudHJ5LmlzSW50ZXJzZWN0aW5nICkgewoJCQkJCQkJCWxldCBsYXp5bG9hZEJhY2tncm91bmQgPSBlbnRyeS50YXJnZXQ7CgkJCQkJCQkJaWYoIGxhenlsb2FkQmFja2dyb3VuZCApIHsKCQkJCQkJCQkJbGF6eWxvYWRCYWNrZ3JvdW5kLmNsYXNzTGlzdC5hZGQoICdlLWxhenlsb2FkZWQnICk7CgkJCQkJCQkJfQoJCQkJCQkJCWxhenlsb2FkQmFja2dyb3VuZE9ic2VydmVyLnVub2JzZXJ2ZSggZW50cnkudGFyZ2V0ICk7CgkJCQkJCQl9CgkJCQkJCX0pOwoJCQkJCX0sIHsgcm9vdE1hcmdpbjogJzIwMHB4IDBweCAyMDBweCAwcHgnIH0gKTsKCQkJCQlsYXp5bG9hZEJhY2tncm91bmRzLmZvckVhY2goICggbGF6eWxvYWRCYWNrZ3JvdW5kICkgPT4gewoJCQkJCQlsYXp5bG9hZEJhY2tncm91bmRPYnNlcnZlci5vYnNlcnZlKCBsYXp5bG9hZEJhY2tncm91bmQgKTsKCQkJCQl9ICk7CgkJCQl9OwoJCQkJY29uc3QgZXZlbnRzID0gWwoJCQkJCSdET01Db250ZW50TG9hZGVkJywKCQkJCQknZWxlbWVudG9yL2xhenlsb2FkL29ic2VydmUnLAoJCQkJXTsKCQkJCWV2ZW50cy5mb3JFYWNoKCAoIGV2ZW50ICkgPT4gewoJCQkJCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIGV2ZW50LCBsYXp5bG9hZFJ1bk9ic2VydmVyICk7CgkJCQl9ICk7CgkJCQ==
8 ms
javascript;base64,CgkJKGZ1bmN0aW9uICgpIHsKCQkJdmFyIGMgPSBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZTsKCQkJYyA9IGMucmVwbGFjZSgvd29vY29tbWVyY2Utbm8tanMvLCAnd29vY29tbWVyY2UtanMnKTsKCQkJZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSBjOwoJCX0pKCk7Cgk=
8 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgbXRwaHJfZG50X3ZhcnMgPSB7ImlzX3J0bCI6IiJ9OwovKiBdXT4gKi8K
7 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgbGVhZGluX3dvcmRwcmVzcyA9IHsidXNlclJvbGUiOiJ2aXNpdG9yIiwicGFnZVR5cGUiOiJob21lIiwibGVhZGluUGx1Z2luVmVyc2lvbiI6IjExLjEuNjYifTsKLyogXV0+ICovCg==
7 ms
5442830.js
86 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgV1BfU3RhdGlzdGljc19UcmFja2VyX09iamVjdCA9IHsicmVxdWVzdFVybCI6Imh0dHBzOlwvXC9yb2Jzbm93LmV1XC93cC1qc29uXC93cC1zdGF0aXN0aWNzXC92MiIsImFqYXhVcmwiOiJodHRwczpcL1wvcm9ic25vdy5ldVwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwiaGl0UGFyYW1zIjp7IndwX3N0YXRpc3RpY3NfaGl0IjoxLCJzb3VyY2VfdHlwZSI6ImhvbWUiLCJzb3VyY2VfaWQiOjEzMTA4Mywic2VhcmNoX3F1ZXJ5IjoiIiwic2lnbmF0dXJlIjoiM2FmZGQ5ODY0ZDg0ZDczMjg4MjQ2ZWNlMDM0MjE0N2EiLCJlbmRwb2ludCI6ImhpdCJ9LCJvbmxpbmVQYXJhbXMiOnsid3Bfc3RhdGlzdGljc19oaXQiOjEsInNvdXJjZV90eXBlIjoiaG9tZSIsInNvdXJjZV9pZCI6MTMxMDgzLCJzZWFyY2hfcXVlcnkiOiIiLCJzaWduYXR1cmUiOiIzYWZkZDk4NjRkODRkNzMyODgyNDZlY2UwMzQyMTQ3YSIsImVuZHBvaW50Ijoib25saW5lIn0sIm9wdGlvbiI6eyJ1c2VyT25saW5lIjoiMSIsImNvbnNlbnRMZXZlbCI6ImRpc2FibGVkIiwiZG50RW5hYmxlZCI6IiIsImJ5cGFzc0FkQmxvY2tlcnMiOmZhbHNlLCJpc1dwQ29uc2VudEFwaUFjdGl2ZSI6ZmFsc2UsInRyYWNrQW5vbnltb3VzbHkiOmZhbHNlLCJpc1ByZXZpZXciOmZhbHNlfSwianNDaGVja1RpbWUiOiI2MDAwMCJ9OwovKiBdXT4gKi8K
6 ms
js
78 ms
external_api.js
49 ms
ZXZvLWFqYXg9JSVlbmRwb2ludCUlIiwibiI6IjMxYzY1M2QxMjkiLCJub25jZSI6IjJhZDE1NDMyMjAiLCJldm9fdiI6IjQuNy4xIiwidGV4dCI6W10sImh0bWwiOnsicHJlbG9hZF9nZW5lcmFsIjoiPGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyX2hvbGRlciBoMTAwIGxvYWRpbmdfZSBzd2lwZScgc3R5bGU9Jyc+PGRpdiBjbGFzcz0nbmVzdGhvbGQgYyBnJz48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzUwJSBoaV83MHB4JyBzdHlsZT0nd2lkdGg6NTAlOyBoZWlnaHQ6NzBweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDAlIGhpXzQwcHgnIHN0eWxlPSd3aWR0aDoxMDAlOyBoZWlnaHQ6NDBweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDAlIGhpXzQwcHgnIHN0eWxlPSd3aWR0aDoxMDAlOyBoZWlnaHQ6NDBweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDAlIGhpXzQwcHgnIHN0eWxlPSd3aWR0aDoxMDAlOyBoZWlnaHQ6NDBweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDAlIGhpXzQwcHgnIHN0eWxlPSd3aWR0aDoxMDAlOyBoZWlnaHQ6NDBweDsgJz48XC9kaXY+PFwvZGl2PjxcL2Rpdj4iLCJwcmVsb2FkX2V2ZW50cyI6IjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2Jhcl9ob2xkZXIgaDEwMCBsb2FkaW5nX2Ugc3dpcGUnIHN0eWxlPScnPjxkaXYgY2xhc3M9J25lc3QgbmVzdDEgZSc+PGRpdiBjbGFzcz0nbmVzdGhvbGQgciBnMTAnPjxkaXYgY2xhc3M9J25lc3QgbmVzdDIgZTEnPjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfMTAwcHggaGlfOTVweCcgc3R5bGU9J3dpZHRoOjEwMHB4OyBoZWlnaHQ6OTVweDsgJz48XC9kaXY+PFwvZGl2PjxkaXYgY2xhc3M9J25lc3QgbmVzdDIgZTInPjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfNTAlIGhpXzU1cHgnIHN0eWxlPSd3aWR0aDo1MCU7IGhlaWdodDo1NXB4OyAnPjxcL2Rpdj48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzkwJSBoaV8zMHB4JyBzdHlsZT0nd2lkdGg6OTAlOyBoZWlnaHQ6MzBweDsgJz48XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9kaXY+PGRpdiBjbGFzcz0nbmVzdCBuZXN0MSBlJz48ZGl2IGNsYXNzPSduZXN0aG9sZCByIGcxMCc+PGRpdiBjbGFzcz0nbmVzdCBuZXN0MiBlMSc+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDBweCBoaV85NXB4JyBzdHlsZT0nd2lkdGg6MTAwcHg7IGhlaWdodDo5NXB4OyAnPjxcL2Rpdj48XC9kaXY+PGRpdiBjbGFzcz0nbmVzdCBuZXN0MiBlMic+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF81MCUgaGlfNTVweCcgc3R5bGU9J3dpZHRoOjUwJTsgaGVpZ2h0OjU1cHg7ICc+PFwvZGl2PjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfOTAlIGhpXzMwcHgnIHN0eWxlPSd3aWR0aDo5MCU7IGhlaWdodDozMHB4OyAnPjxcL2Rpdj48XC9kaXY+PFwvZGl2PjxcL2Rpdj48ZGl2IGNsYXNzPSduZXN0IG5lc3QxIGUnPjxkaXYgY2xhc3M9J25lc3Rob2xkIHIgZzEwJz48ZGl2IGNsYXNzPSduZXN0IG5lc3QyIGUxJz48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzEwMHB4IGhpXzk1cHgnIHN0eWxlPSd3aWR0aDoxMDBweDsgaGVpZ2h0Ojk1cHg7ICc+PFwvZGl2PjxcL2Rpdj48ZGl2IGNsYXNzPSduZXN0IG5lc3QyIGUyJz48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzUwJSBoaV81NXB4JyBzdHlsZT0nd2lkdGg6NTAlOyBoZWlnaHQ6NTVweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF85MCUgaGlfMzBweCcgc3R5bGU9J3dpZHRoOjkwJTsgaGVpZ2h0OjMwcHg7ICc+PFwvZGl2PjxcL2Rpdj48XC9kaXY+PFwvZGl2PjxkaXYgY2xhc3M9J25lc3QgbmVzdDEgZSc+PGRpdiBjbGFzcz0nbmVzdGhvbGQgciBnMTAnPjxkaXYgY2xhc3M9J25lc3QgbmVzdDIgZTEnPjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfMTAwcHggaGlfOTVweCcgc3R5bGU9J3dpZHRoOjEwMHB4OyBoZWlnaHQ6OTVweDsgJz48XC9kaXY+PFwvZGl2PjxkaXYgY2xhc3M9J25lc3QgbmVzdDIgZTInPjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfNTAlIGhpXzU1cHgnIHN0eWxlPSd3aWR0aDo1MCU7IGhlaWdodDo1NXB4OyAnPjxcL2Rpdj48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzkwJSBoaV8zMHB4JyBzdHlsZT0nd2lkdGg6OTAlOyBoZWlnaHQ6MzBweDsgJz48XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9kaXY+PGRpdiBjbGFzcz0nbmVzdCBuZXN0MSBlJz48ZGl2IGNsYXNzPSduZXN0aG9sZCByIGcxMCc+PGRpdiBjbGFzcz0nbmVzdCBuZXN0MiBlMSc+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDBweCBoaV85NXB4JyBzdHlsZT0nd2lkdGg6MTAwcHg7IGhlaWdodDo5NXB4OyAnPjxcL2Rpdj48XC9kaXY+PGRpdiBjbGFzcz0nbmVzdCBuZXN0MiBlMic+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF81MCUgaGlfNTVweCcgc3R5bGU9J3dpZHRoOjUwJTsgaGVpZ2h0OjU1cHg7ICc+PFwvZGl2PjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfOTAlIGhpXzMwcHgnIHN0eWxlPSd3aWR0aDo5MCU7IGhlaWdodDozMHB4OyAnPjxcL2Rpdj48XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9kaXY+IiwicHJlbG9hZF9ldmVudF90aWxlcyI6IjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2Jhcl9ob2xkZXIgaDEwMCBsb2FkaW5nX2VfdGlsZSBzd2lwZScgc3R5bGU9Jyc+PGRpdiBjbGFzcz0nbmVzdCBuZXN0MSBlJz48ZGl2IGNsYXNzPSduZXN0aG9sZCAgZyc+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF81MCUgaGlfNTVweCcgc3R5bGU9J3dpZHRoOjUwJTsgaGVpZ2h0OjU1cHg7ICc+PFwvZGl2PjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfOTAlIGhpXzMwcHgnIHN0eWxlPSd3aWR0aDo5MCU7IGhlaWdodDozMHB4OyAnPjxcL2Rpdj48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzkwJSBoaV8zMHB4JyBzdHlsZT0nd2lkdGg6OTAlOyBoZWlnaHQ6MzBweDsgJz48XC9kaXY+PFwvZGl2PjxcL2Rpdj48ZGl2IGNsYXNzPSduZXN0IG5lc3QxIGUnPjxkaXYgY2xhc3M9J25lc3Rob2xkICBnJz48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzUwJSBoaV81NXB4JyBzdHlsZT0nd2lkdGg6NTAlOyBoZWlnaHQ6NTVweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF85MCUgaGlfMzBweCcgc3R5bGU9J3dpZHRoOjkwJTsgaGVpZ2h0OjMwcHg7ICc+PFwvZGl2PjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfOTAlIGhpXzMwcHgnIHN0eWxlPSd3aWR0aDo5MCU7IGhlaWdodDozMHB4OyAnPjxcL2Rpdj48XC9kaXY+PFwvZGl2PjxkaXYgY2xhc3M9J25lc3QgbmVzdDEgZSc+PGRpdiBjbGFzcz0nbmVzdGhvbGQgIGcnPjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfNTAlIGhpXzU1cHgnIHN0eWxlPSd3aWR0aDo1MCU7IGhlaWdodDo1NXB4OyAnPjxcL2Rpdj48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzkwJSBoaV8zMHB4JyBzdHlsZT0nd2lkdGg6OTAlOyBoZWlnaHQ6MzBweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF85MCUgaGlfMzBweCcgc3R5bGU9J3dpZHRoOjkwJTsgaGVpZ2h0OjMwcHg7ICc+PFwvZGl2PjxcL2Rpdj48XC9kaXY+PGRpdiBjbGFzcz0nbmVzdCBuZXN0MSBlJz48ZGl2IGNsYXNzPSduZXN0aG9sZCAgZyc+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF81MCUgaGlfNTVweCcgc3R5bGU9J3dpZHRoOjUwJTsgaGVpZ2h0OjU1cHg7ICc+PFwvZGl2PjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfOTAlIGhpXzMwcHgnIHN0eWxlPSd3aWR0aDo5MCU7IGhlaWdodDozMHB4OyAnPjxcL2Rpdj48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzkwJSBoaV8zMHB4JyBzdHlsZT0nd2lkdGg6OTAlOyBoZWlnaHQ6MzBweDsgJz48XC9kaXY+PFwvZGl2PjxcL2Rpdj48ZGl2IGNsYXNzPSduZXN0IG5lc3QxIGUnPjxkaXYgY2xhc3M9J25lc3Rob2xkICBnJz48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzUwJSBoaV81NXB4JyBzdHlsZT0nd2lkdGg6NTAlOyBoZWlnaHQ6NTVweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF85MCUgaGlfMzBweCcgc3R5bGU9J3dpZHRoOjkwJTsgaGVpZ2h0OjMwcHg7ICc+PFwvZGl2PjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfOTAlIGhpXzMwcHgnIHN0eWxlPSd3aWR0aDo5MCU7IGhlaWdodDozMHB4OyAnPjxcL2Rpdj48XC9kaXY+PFwvZGl2PjxkaXYgY2xhc3M9J25lc3QgbmVzdDEgZSc+PGRpdiBjbGFzcz0nbmVzdGhvbGQgIGcnPjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfNTAlIGhpXzU1cHgnIHN0eWxlPSd3aWR0aDo1MCU7IGhlaWdodDo1NXB4OyAnPjxcL2Rpdj48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzkwJSBoaV8zMHB4JyBzdHlsZT0nd2lkdGg6OTAlOyBoZWlnaHQ6MzBweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF85MCUgaGlfMzBweCcgc3R5bGU9J3dpZHRoOjkwJTsgaGVpZ2h0OjMwcHg7ICc+PFwvZGl2PjxcL2Rpdj48XC9kaXY+PFwvZGl2PiIsInByZWxvYWRfdGF4bGIiOiI8ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXJfaG9sZGVyIGgxMDAgbG9hZGluZ190YXhsYiBzd2lwZScgc3R5bGU9Jyc+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF81MCUgaGlfOTVweCcgc3R5bGU9J3dpZHRoOjUwJTsgaGVpZ2h0Ojk1cHg7ICc+PFwvZGl2PjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfMzAlIGhpXzMwcHgnIHN0eWxlPSd3aWR0aDozMCU7IGhlaWdodDozMHB4OyBtYXJnaW4tYm90dG9tOjMwcHg7Jz48XC9kaXY+PGRpdiBjbGFzcz0nbmVzdGhvbGQgciBnMTAnPjxkaXYgY2xhc3M9J25lc3QgbmVzdDIgZTEnPjxkaXYgY2xhc3M9J2V2b19sb2FkaW5nX2JhciB3aWRfMTAwJSBoaV8xNTBweCcgc3R5bGU9J3dpZHRoOjEwMCU7IGhlaWdodDoxNTBweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDAlIGhpXzE1MHB4JyBzdHlsZT0nd2lkdGg6MTAwJTsgaGVpZ2h0OjE1MHB4OyAnPjxcL2Rpdj48ZGl2IGNsYXNzPSdldm9fbG9hZGluZ19iYXIgd2lkXzEwMCUgaGlfOTVweCcgc3R5bGU9J3dpZHRoOjEwMCU7IGhlaWdodDo5NXB4OyAnPjxcL2Rpdj48XC9kaXY+PGRpdiBjbGFzcz0nbmVzdCBuZXN0MiBlMic+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDAlIGhpXzk1cHgnIHN0eWxlPSd3aWR0aDoxMDAlOyBoZWlnaHQ6OTVweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDAlIGhpXzk1cHgnIHN0eWxlPSd3aWR0aDoxMDAlOyBoZWlnaHQ6OTVweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDAlIGhpXzk1cHgnIHN0eWxlPSd3aWR0aDoxMDAlOyBoZWlnaHQ6OTVweDsgJz48XC9kaXY+PGRpdiBjbGFzcz0nZXZvX2xvYWRpbmdfYmFyIHdpZF8xMDAlIGhpXzk1cHgnIHN0eWxlPSd3aWR0aDoxMDAlOyBoZWlnaHQ6OTVweDsgJz48XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9kaXY+IiwicHJlbG9hZF9nbWFwIjoiXG5cdFx0PHNwYW4gY2xhc3M9J2V2b19tYXBfbG9hZF9vdXQgZXZvcG9zciBldm9kYiBldm9icjE1Jz5cblx0XHQ8aSBjbGFzcz0nZmEgZmEtbWFwLW1hcmtlciBldm9wb3NhJz48XC9pPjxzcGFuIGNsYXNzPSdldm9fbWFwX2xvYWQgZXZvcG9zciBldm9kYic+XHRcdFx0XHRcdFxuXHRcdFx0XHRcdDxpIGNsYXNzPSdhJz48XC9pPlxuXHRcdFx0XHRcdDxpIGNsYXNzPSdiJz48XC9pPlxuXHRcdFx0XHRcdDxpIGNsYXNzPSdjJz48XC9pPlxuXHRcdFx0XHRcdDxpIGNsYXNzPSdkJz48XC9pPlxuXHRcdFx0XHRcdDxpIGNsYXNzPSdlJz48XC9pPlxuXHRcdFx0XHRcdDxpIGNsYXNzPSdmJz48XC9pPlxuXHRcdFx0XHQ8XC9zcGFuPjxcL3NwYW4+In0sImNhbCI6eyJsYnMiOmZhbHNlfX07Ci8qIF1dPiAqLwo=
5 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd2Nfb3JkZXJfYXR0cmlidXRpb24gPSB7InBhcmFtcyI6eyJsaWZldGltZSI6MS4wMDAwMDAwMDAwMDAwMDAxZS01LCJzZXNzaW9uIjozMCwiYmFzZTY0IjpmYWxzZSwiYWpheHVybCI6Imh0dHBzOlwvXC9yb2Jzbm93LmV1XC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJwcmVmaXgiOiJ3Y19vcmRlcl9hdHRyaWJ1dGlvbl8iLCJhbGxvd1RyYWNraW5nIjp0cnVlfSwiZmllbGRzIjp7InNvdXJjZV90eXBlIjoiY3VycmVudC50eXAiLCJyZWZlcnJlciI6ImN1cnJlbnRfYWRkLnJmIiwidXRtX2NhbXBhaWduIjoiY3VycmVudC5jbXAiLCJ1dG1fc291cmNlIjoiY3VycmVudC5zcmMiLCJ1dG1fbWVkaXVtIjoiY3VycmVudC5tZG0iLCJ1dG1fY29udGVudCI6ImN1cnJlbnQuY250IiwidXRtX2lkIjoiY3VycmVudC5pZCIsInV0bV90ZXJtIjoiY3VycmVudC50cm0iLCJ1dG1fc291cmNlX3BsYXRmb3JtIjoiY3VycmVudC5wbHQiLCJ1dG1fY3JlYXRpdmVfZm9ybWF0IjoiY3VycmVudC5mbXQiLCJ1dG1fbWFya2V0aW5nX3RhY3RpYyI6ImN1cnJlbnQudGN0Iiwic2Vzc2lvbl9lbnRyeSI6ImN1cnJlbnRfYWRkLmVwIiwic2Vzc2lvbl9zdGFydF90aW1lIjoiY3VycmVudF9hZGQuZmQiLCJzZXNzaW9uX3BhZ2VzIjoic2Vzc2lvbi5wZ3MiLCJzZXNzaW9uX2NvdW50IjoidWRhdGEudnN0IiwidXNlcl9hZ2VudCI6InVkYXRhLnVhZyJ9fTsKLyogXV0+ICovCg==
6 ms
e-202444.js
14 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgamV0cGFja1N3aXBlckxpYnJhcnlQYXRoID0geyJ1cmwiOiJodHRwczpcL1wvcm9ic25vdy5ldVwvd3AtY29udGVudFwvcGx1Z2luc1wvamV0cGFja1wvX2luY1wvYnVpbGRcL2Nhcm91c2VsXC9zd2lwZXItYnVuZGxlLm1pbi5qcyJ9Owp2YXIgamV0cGFja0Nhcm91c2VsU3RyaW5ncyA9IHsid2lkdGhzIjpbMzcwLDcwMCwxMDAwLDEyMDAsMTQwMCwyMDAwXSwiaXNfbG9nZ2VkX2luIjoiIiwibGFuZyI6ImVuIiwiYWpheHVybCI6Imh0dHBzOlwvXC9yb2Jzbm93LmV1XC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJub25jZSI6IjlmZTVhMWVkYmMiLCJkaXNwbGF5X2V4aWYiOiIxIiwiZGlzcGxheV9jb21tZW50cyI6IjEiLCJzaW5nbGVfaW1hZ2VfZ2FsbGVyeSI6IjEiLCJzaW5nbGVfaW1hZ2VfZ2FsbGVyeV9tZWRpYV9maWxlIjoiIiwiYmFja2dyb3VuZF9jb2xvciI6ImJsYWNrIiwiY29tbWVudCI6IkNvbW1lbnQiLCJwb3N0X2NvbW1lbnQiOiJQb3N0IENvbW1lbnQiLCJ3cml0ZV9jb21tZW50IjoiV3JpdGUgYSBDb21tZW50Li4uIiwibG9hZGluZ19jb21tZW50cyI6IkxvYWRpbmcgQ29tbWVudHMuLi4iLCJkb3dubG9hZF9vcmlnaW5hbCI6IlZpZXcgZnVsbCBzaXplIDxzcGFuIGNsYXNzPVwicGhvdG8tc2l6ZVwiPnswfTxzcGFuIGNsYXNzPVwicGhvdG8tc2l6ZS10aW1lc1wiPlx1MDBkNzxcL3NwYW4+ezF9PFwvc3Bhbj4iLCJub19jb21tZW50X3RleHQiOiJQbGVhc2UgYmUgc3VyZSB0byBzdWJtaXQgc29tZSB0ZXh0IHdpdGggeW91ciBjb21tZW50LiIsIm5vX2NvbW1lbnRfZW1haWwiOiJQbGVhc2UgcHJvdmlkZSBhbiBlbWFpbCBhZGRyZXNzIHRvIGNvbW1lbnQuIiwibm9fY29tbWVudF9hdXRob3IiOiJQbGVhc2UgcHJvdmlkZSB5b3VyIG5hbWUgdG8gY29tbWVudC4iLCJjb21tZW50X3Bvc3RfZXJyb3IiOiJTb3JyeSwgYnV0IHRoZXJlIHdhcyBhbiBlcnJvciBwb3N0aW5nIHlvdXIgY29tbWVudC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLCJjb21tZW50X2FwcHJvdmVkIjoiWW91ciBjb21tZW50IHdhcyBhcHByb3ZlZC4iLCJjb21tZW50X3VuYXBwcm92ZWQiOiJZb3VyIGNvbW1lbnQgaXMgaW4gbW9kZXJhdGlvbi4iLCJjYW1lcmEiOiJDYW1lcmEiLCJhcGVydHVyZSI6IkFwZXJ0dXJlIiwic2h1dHRlcl9zcGVlZCI6IlNodXR0ZXIgU3BlZWQiLCJmb2NhbF9sZW5ndGgiOiJGb2NhbCBMZW5ndGgiLCJjb3B5cmlnaHQiOiJDb3B5cmlnaHQiLCJjb21tZW50X3JlZ2lzdHJhdGlvbiI6IjEiLCJyZXF1aXJlX25hbWVfZW1haWwiOiIxIiwibG9naW5fdXJsIjoiaHR0cHM6XC9cL3JvYnNub3cuZXVcL3dwLWxvZ2luLnBocD9yZWRpcmVjdF90bz1odHRwcyUzQSUyRiUyRnJvYnNub3cuZXUlMkYiLCJibG9nX2lkIjoiMSIsIm1ldGFfZGF0YSI6WyJjYW1lcmEiLCJhcGVydHVyZSIsInNodXR0ZXJfc3BlZWQiLCJmb2NhbF9sZW5ndGgiLCJjb3B5cmlnaHQiXX07Ci8qIF1dPiAqLwo=
5 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp3cC5pMThuLnNldExvY2FsZURhdGEoIHsgJ3RleHQgZGlyZWN0aW9uXHUwMDA0bHRyJzogWyAnbHRyJyBdIH0gKTsKLyogXV0+ICovCg==
5 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgRWxlbWVudG9yUHJvRnJvbnRlbmRDb25maWcgPSB7ImFqYXh1cmwiOiJodHRwczpcL1wvcm9ic25vdy5ldVwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwibm9uY2UiOiI3ZWI1OGNjMmFlIiwidXJscyI6eyJhc3NldHMiOiJodHRwczpcL1wvcm9ic25vdy5ldVwvd3AtY29udGVudFwvcGx1Z2luc1wvZWxlbWVudG9yLXByb1wvYXNzZXRzXC8iLCJyZXN0IjoiaHR0cHM6XC9cL3JvYnNub3cuZXVcL3dwLWpzb25cLyJ9LCJzZXR0aW5ncyI6eyJsYXp5X2xvYWRfYmFja2dyb3VuZF9pbWFnZXMiOnRydWV9LCJwb3B1cCI6eyJoYXNQb3BVcHMiOnRydWV9LCJzaGFyZUJ1dHRvbnNOZXR3b3JrcyI6eyJmYWNlYm9vayI6eyJ0aXRsZSI6IkZhY2Vib29rIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJ0d2l0dGVyIjp7InRpdGxlIjoiVHdpdHRlciJ9LCJsaW5rZWRpbiI6eyJ0aXRsZSI6IkxpbmtlZEluIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJwaW50ZXJlc3QiOnsidGl0bGUiOiJQaW50ZXJlc3QiLCJoYXNfY291bnRlciI6dHJ1ZX0sInJlZGRpdCI6eyJ0aXRsZSI6IlJlZGRpdCIsImhhc19jb3VudGVyIjp0cnVlfSwidmsiOnsidGl0bGUiOiJWSyIsImhhc19jb3VudGVyIjp0cnVlfSwib2Rub2tsYXNzbmlraSI6eyJ0aXRsZSI6Ik9LIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJ0dW1ibHIiOnsidGl0bGUiOiJUdW1ibHIifSwiZGlnZyI6eyJ0aXRsZSI6IkRpZ2cifSwic2t5cGUiOnsidGl0bGUiOiJTa3lwZSJ9LCJzdHVtYmxldXBvbiI6eyJ0aXRsZSI6IlN0dW1ibGVVcG9uIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJtaXgiOnsidGl0bGUiOiJNaXgifSwidGVsZWdyYW0iOnsidGl0bGUiOiJUZWxlZ3JhbSJ9LCJwb2NrZXQiOnsidGl0bGUiOiJQb2NrZXQiLCJoYXNfY291bnRlciI6dHJ1ZX0sInhpbmciOnsidGl0bGUiOiJYSU5HIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJ3aGF0c2FwcCI6eyJ0aXRsZSI6IldoYXRzQXBwIn0sImVtYWlsIjp7InRpdGxlIjoiRW1haWwifSwicHJpbnQiOnsidGl0bGUiOiJQcmludCJ9LCJ4LXR3aXR0ZXIiOnsidGl0bGUiOiJYIn0sInRocmVhZHMiOnsidGl0bGUiOiJUaHJlYWRzIn19LAoid29vY29tbWVyY2UiOnsibWVudV9jYXJ0Ijp7ImNhcnRfcGFnZV91cmwiOiJodHRwczpcL1wvcm9ic25vdy5ldVwvc2hvcFwvY2FydFwvIiwiY2hlY2tvdXRfcGFnZV91cmwiOiJodHRwczpcL1wvcm9ic25vdy5ldVwvc2hvcFwvY2hlY2tvdXRcLyIsImZyYWdtZW50c19ub25jZSI6IjFkZmQ3MTYxYzYifX0sCiJmYWNlYm9va19zZGsiOnsibGFuZyI6ImVuX0dCIiwiYXBwX2lkIjoiOTcxNzA1NzM0MzkifSwibG90dGllIjp7ImRlZmF1bHRBbmltYXRpb25VcmwiOiJodHRwczpcL1wvcm9ic25vdy5ldVwvd3AtY29udGVudFwvcGx1Z2luc1wvZWxlbWVudG9yLXByb1wvbW9kdWxlc1wvbG90dGllXC9hc3NldHNcL2FuaW1hdGlvbnNcL2RlZmF1bHQuanNvbiJ9fTsKLyogXV0+ICovCg==
5 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgZWxlbWVudG9yRnJvbnRlbmRDb25maWcgPSB7ImVudmlyb25tZW50TW9kZSI6eyJlZGl0IjpmYWxzZSwid3BQcmV2aWV3IjpmYWxzZSwiaXNTY3JpcHREZWJ1ZyI6ZmFsc2V9LCJpMThuIjp7InNoYXJlT25GYWNlYm9vayI6IlNoYXJlIG9uIEZhY2Vib29rIiwic2hhcmVPblR3aXR0ZXIiOiJTaGFyZSBvbiBUd2l0dGVyIiwicGluSXQiOiJQaW4gaXQiLCJkb3dubG9hZCI6IkRvd25sb2FkIiwiZG93bmxvYWRJbWFnZSI6IkRvd25sb2FkIGltYWdlIiwiZnVsbHNjcmVlbiI6IkZ1bGxzY3JlZW4iLCJ6b29tIjoiWm9vbSIsInNoYXJlIjoiU2hhcmUiLCJwbGF5VmlkZW8iOiJQbGF5IFZpZGVvIiwicHJldmlvdXMiOiJQcmV2aW91cyIsIm5leHQiOiJOZXh0IiwiY2xvc2UiOiJDbG9zZSIsImExMXlDYXJvdXNlbFdyYXBwZXJBcmlhTGFiZWwiOiJDYXJvdXNlbCB8IEhvcml6b250YWwgc2Nyb2xsaW5nOiBBcnJvdyBMZWZ0ICYgUmlnaHQiLCJhMTF5Q2Fyb3VzZWxQcmV2U2xpZGVNZXNzYWdlIjoiUHJldmlvdXMgc2xpZGUiLCJhMTF5Q2Fyb3VzZWxOZXh0U2xpZGVNZXNzYWdlIjoiTmV4dCBzbGlkZSIsImExMXlDYXJvdXNlbEZpcnN0U2xpZGVNZXNzYWdlIjoiVGhpcyBpcyB0aGUgZmlyc3Qgc2xpZGUiLCJhMTF5Q2Fyb3VzZWxMYXN0U2xpZGVNZXNzYWdlIjoiVGhpcyBpcyB0aGUgbGFzdCBzbGlkZSIsImExMXlDYXJvdXNlbFBhZ2luYXRpb25CdWxsZXRNZXNzYWdlIjoiR28gdG8gc2xpZGUifSwiaXNfcnRsIjpmYWxzZSwiYnJlYWtwb2ludHMiOnsieHMiOjAsInNtIjo0ODAsIm1kIjo3NjgsImxnIjoxMDI1LCJ4bCI6MTQ0MCwieHhsIjoxNjAwfSwicmVzcG9uc2l2ZSI6eyJicmVha3BvaW50cyI6eyJtb2JpbGUiOnsibGFiZWwiOiJNb2JpbGUgUG9ydHJhaXQiLCJ2YWx1ZSI6NzY3LCJkZWZhdWx0X3ZhbHVlIjo3NjcsImRpcmVjdGlvbiI6Im1heCIsImlzX2VuYWJsZWQiOnRydWV9LCJtb2JpbGVfZXh0cmEiOnsibGFiZWwiOiJNb2JpbGUgTGFuZHNjYXBlIiwidmFsdWUiOjg4MCwiZGVmYXVsdF92YWx1ZSI6ODgwLCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjpmYWxzZX0sInRhYmxldCI6eyJsYWJlbCI6IlRhYmxldCBQb3J0cmFpdCIsInZhbHVlIjoxMDI0LCJkZWZhdWx0X3ZhbHVlIjoxMDI0LCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjp0cnVlfSwidGFibGV0X2V4dHJhIjp7ImxhYmVsIjoiVGFibGV0IExhbmRzY2FwZSIsInZhbHVlIjoxMjAwLCJkZWZhdWx0X3ZhbHVlIjoxMjAwLCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjpmYWxzZX0sImxhcHRvcCI6eyJsYWJlbCI6IkxhcHRvcCIsInZhbHVlIjoxMzY2LCJkZWZhdWx0X3ZhbHVlIjoxMzY2LCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjpmYWxzZX0sIndpZGVzY3JlZW4iOnsibGFiZWwiOiJXaWRlc2NyZWVuIiwidmFsdWUiOjI0MDAsImRlZmF1bHRfdmFsdWUiOjI0MDAsImRpcmVjdGlvbiI6Im1pbiIsImlzX2VuYWJsZWQiOmZhbHNlfX0sCiJoYXNDdXN0b21CcmVha3BvaW50cyI6ZmFsc2V9LCJ2ZXJzaW9uIjoiMy4yNS4zIiwiaXNfc3RhdGljIjpmYWxzZSwiZXhwZXJpbWVudGFsRmVhdHVyZXMiOnsiYWRkaXRpb25hbF9jdXN0b21fYnJlYWtwb2ludHMiOnRydWUsImVfc3dpcGVyX2xhdGVzdCI6dHJ1ZSwiZV9uZXN0ZWRfYXRvbWljX3JlcGVhdGVycyI6dHJ1ZSwiZV9vcHRpbWl6ZWRfY29udHJvbF9sb2FkaW5nIjp0cnVlLCJlX29uYm9hcmRpbmciOnRydWUsImVfY3NzX3Ntb290aF9zY3JvbGwiOnRydWUsInRoZW1lX2J1aWxkZXJfdjIiOnRydWUsImhvbWVfc2NyZWVuIjp0cnVlLCJsYW5kaW5nLXBhZ2VzIjp0cnVlLCJuZXN0ZWQtZWxlbWVudHMiOnRydWUsImVkaXRvcl92MiI6dHJ1ZSwibGluay1pbi1iaW8iOnRydWUsImZsb2F0aW5nLWJ1dHRvbnMiOnRydWV9LCJ1cmxzIjp7ImFzc2V0cyI6Imh0dHBzOlwvXC9yb2Jzbm93LmV1XC93cC1jb250ZW50XC9wbHVnaW5zXC9lbGVtZW50b3JcL2Fzc2V0c1wvIiwiYWpheHVybCI6Imh0dHBzOlwvXC9yb2Jzbm93LmV1XC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJ1cGxvYWRVcmwiOiJodHRwczpcL1wvcm9ic25vdy5ldVwvd3AtY29udGVudFwvdXBsb2FkcyJ9LCJub25jZXMiOnsiZmxvYXRpbmdCdXR0b25zQ2xpY2tUcmFja2luZyI6ImVmYmIxMTU2ZmUifSwic3dpcGVyQ2xhc3MiOiJzd2lwZXIiLCJzZXR0aW5ncyI6eyJwYWdlIjpbXSwiZWRpdG9yUHJlZmVyZW5jZXMiOltdfSwia2l0Ijp7ImFjdGl2ZV9icmVha3BvaW50cyI6WyJ2aWV3cG9ydF9tb2JpbGUiLCJ2aWV3cG9ydF90YWJsZXQiXSwiZ2xvYmFsX2ltYWdlX2xpZ2h0Ym94IjoieWVzIiwibGlnaHRib3hfZW5hYmxlX2NvdW50ZXIiOiJ5ZXMiLCJsaWdodGJveF9lbmFibGVfZnVsbHNjcmVlbiI6InllcyIsImxpZ2h0Ym94X2VuYWJsZV96b29tIjoieWVzIiwibGlnaHRib3hfZW5hYmxlX3NoYXJlIjoieWVzIiwibGlnaHRib3hfdGl0bGVfc3JjIjoidGl0bGUiLCJsaWdodGJveF9kZXNjcmlwdGlvbl9zcmMiOiJkZXNjcmlwdGlvbiIsIndvb2NvbW1lcmNlX25vdGljZXNfZWxlbWVudHMiOltdfSwicG9zdCI6eyJpZCI6MTMxMDgzLCJ0aXRsZSI6IlJvYiUyMEFydCUyMCU3QyUyMElsbHVzdHJhdGlvbiUyMEhvbWVwYWdlJTIwLSUyMEl0JTI3cyUyMGluJTIwdGhlJTIwZGV0YWlsJTIxJTIwV2hlcmUlMjBhcnQlMjBtYXR0ZXJzJTIxIiwiZXhjZXJwdCI6IiIsImZlYXR1cmVkSW1hZ2UiOmZhbHNlfX07Ci8qIF1dPiAqLwo=
4 ms
javascript;base64,CgkJCWpRdWVyeSggZnVuY3Rpb24oICQgKSB7CgkJCQkJCQkkKCAnI210cGhyLWRudC03ODg1NycgKS5kaXR0eV9uZXdzX3RpY2tlcih7CgkJCQkJaWQgOiAnNzg4NTcnLAoJCQkJCXR5cGUgOiAnc2Nyb2xsJywKCQkJCQlzY3JvbGxfZGlyZWN0aW9uIDogJ2xlZnQnLAoJCQkJCXNjcm9sbF9zcGVlZCA6IDUsCgkJCQkJc2Nyb2xsX3BhdXNlIDogMSwKCQkJCQlzY3JvbGxfc3BhY2luZyA6IDQwLAoJCQkJCXNjcm9sbF9pbml0IDogMCwKCQkJCQlzY3JvbGxfaW5pdF9kZWxheSA6IDIsCgkJCQkJcm90YXRlX3R5cGUgOiAnZmFkZScsCgkJCQkJYXV0b19yb3RhdGUgOiAxLAoJCQkJCXJvdGF0ZV9kZWxheSA6IDcsCgkJCQkJcm90YXRlX3BhdXNlIDogMCwKCQkJCQlyb3RhdGVfc3BlZWQgOiAxMCwKCQkJCQlyb3RhdGVfZWFzZSA6ICdlYXNlSW5PdXRRdWludCcsCgkJCQkJbmF2X3JldmVyc2UgOiAwLAoJCQkJCWRpc2FibGVfdG91Y2hzd2lwZSA6IDAsCgkJCQkJb2Zmc2V0IDogMTAsCgkJCQkJYWZ0ZXJfbG9hZCA6IGZ1bmN0aW9uKCAkdGlja2VyICkgewoJCQkJCQkJCQkJCX0sCgkJCQkJYmVmb3JlX2NoYW5nZSA6IGZ1bmN0aW9uKCAkdGlja2VyICkgewoJCQkJCQkJCQkJCX0sCgkJCQkJYWZ0ZXJfY2hhbmdlIDogZnVuY3Rpb24oICR0aWNrZXIgKSB7CgkJCQkJCQkJCQkJfQoJCQkJfSk7CgkJCSAJCQl9KTsKCQk=
4 ms
autoptimize_single_b7e32c59eb7f8bc8c173a39c69dad0a1.css
694 ms
autoptimize_single_92d288bb6e283754270ed6792081f310.css
690 ms
autoptimize_single_94b587265d994ead4b7685d3fe3dc77c.css
597 ms
autoptimize_single_95547cf15cc8083bc9d1c840621c6fdc.css
598 ms
eventon_styles.css
700 ms
autoptimize_single_2d931e90bf4bd86b968b2d0e4155cb7e.css
710 ms
autoptimize_single_2892415f94bc04326791028f841b6f6e.css
601 ms
fontawesome.min.css
685 ms
regular.min.css
598 ms
autoptimize_single_d7a8127861fe37f332ec855349a23c3d.css
594 ms
autoptimize_single_a5c9a5868c97fc7afdd935b59e8f76b8.css
626 ms
autoptimize_single_1976836754afd8ab2adf4bce7fa23c7e.css
677 ms
autoptimize_single_86418227c617c0362c5d9291c793929d.css
684 ms
brands.min.css
598 ms
widget-divider.min.css
602 ms
widget-star-rating.min.css
601 ms
widget-social-icons.min.css
601 ms
apple-webkit.min.css
683 ms
widget-spacer.min.css
685 ms
autoptimize_single_26b4f0c3c1bcf76291fa4952fb7f04fb.css
597 ms
popup.min.css
600 ms
jquery.min.js
593 ms
jquery-migrate.min.js
590 ms
autoptimize_single_c5592a6fda4d0b779f56db2d5ddac010.js
705 ms
autoptimize_single_2c542c9989f589cd5318f5cef6a9ecd7.js
706 ms
autoptimize_single_49cea0a781874a962879c2caca9bc322.js
627 ms
jquery.blockUI.min.js
622 ms
add-to-cart.min.js
619 ms
js.cookie.min.js
617 ms
woocommerce.min.js
756 ms
swiped-events.min.js
757 ms
imagesloaded.min.js
672 ms
effect.min.js
1132 ms
autoptimize_single_0482a9a2940050bbb6583a688f26b07d.js
1132 ms
autoptimize_single_dab5daed93fee83a84ffa4750c4a5dca.js
1129 ms
autoptimize_single_c853a457abf2b8d989e287fd96dda084.js
1172 ms
autoptimize_single_f2a90ad20728cf71b6815ae1e44ddf4f.js
1171 ms
jquery.countdown.min.js
1082 ms
jquery.justifiedGallery.min.js
1145 ms
perfect-scrollbar.min.js
1146 ms
autoptimize_single_717b96267efc6064f45732527ec1ca45.js
1139 ms
isotope.pkgd.min.js
1054 ms
packery-mode.pkgd.min.js
1051 ms
jquery.magnific-popup.min.js
1049 ms
owl.carousel.min.js
1118 ms
typed.min.js
1098 ms
wow.min.js
1099 ms
autoptimize_single_9ec8a70a45200a234a972fdb58a3188e.js
1045 ms
autoptimize_single_b209fae9d3edbe9e433fa54616526171.js
1038 ms
autoptimize_single_3155bc32a3498d48bcd35151dccacfe2.js
1040 ms
autoptimize_single_51af8768b434c2f3cafebe3d21d67f2b.js
1130 ms
comment-reply.min.js
1128 ms
autoptimize_single_2ead40e3360df9b33abe86f53c2c3114.js
1126 ms
autoptimize_single_52e5fd0c50c5a349cd8f5e4b7439eec7.js
1046 ms
autoptimize_single_6516449ed5089677ed3d7e2f11fc8942.js
1039 ms
autoptimize_single_c4d39d28c89d97c1c510b03067015f84.js
1139 ms
jquery.mobile.min.js
1128 ms
moment.min.js
1088 ms
autoptimize_single_3d5f23458132990bf0544a307959d4de.js
1012 ms
jquery.mousewheel.min.js
1010 ms
autoptimize_single_e1fe97b7413032c62e499d16da0671e5.js
1012 ms
sourcebuster.min.js
1105 ms
order-attribution.min.js
1105 ms
jetpack-carousel.min.js
1106 ms
KFOkCnqEu92Fr1Mu51xIIzQXKMny.woff
141 ms
KFOjCnqEu92Fr1Mu51S7ACc6CsLYl4BO.woff
142 ms
KFOjCnqEu92Fr1Mu51TjASc6CsLYl4BO.woff
606 ms
KFOiCnqEu92Fr1Mu51QrEzAdKevwnYg.woff
649 ms
KFOjCnqEu92Fr1Mu51TzBic6CsLYl4BO.woff
653 ms
KFOjCnqEu92Fr1Mu51TLBCc6CsLYl4BO.woff
654 ms
KFOmCnqEu92Fr1Mu4mxMKTU1Kg.woff
655 ms
KFOlCnqEu92Fr1MmEU9fBBc-AMP6lQ.woff
654 ms
KFOlCnqEu92Fr1MmSU5fBBc-AMP6lQ.woff
651 ms
KFOkCnqEu92Fr1MmgVxIIzQXKMny.woff
652 ms
KFOlCnqEu92Fr1MmWUlfBBc-AMP6lQ.woff
656 ms
KFOlCnqEu92Fr1MmYUtfBBc-AMP6lQ.woff
655 ms
webpack-pro.runtime.min.js
1105 ms
webpack.runtime.min.js
968 ms
frontend-modules.min.js
969 ms
hooks.min.js
1059 ms
i18n.min.js
596 ms
frontend.min.js
717 ms
core.min.js
677 ms
frontend.min.js
678 ms
elements-handlers.min.js
677 ms
wow.min.js
704 ms
autoptimize_single_60a119a13d68ea6a89f53379c0cf4438.js
635 ms
fa-regular-400.woff
609 ms
fa-regular-400.ttf
812 ms
fa-solid-900.ttf
1196 ms
eicons.woff
899 ms
Banner.png
813 ms
27912711_10155457704743379_860445109378175135_o-1024x1024.jpg
728 ms
iMac-1024x1024.jpg
778 ms
Kitchen_Site_Portfolio_2.jpg
915 ms
cover.jpg
1011 ms
cover-1.jpg
911 ms
cover-1.jpg
971 ms
cover.jpg
1045 ms
cover_1.jpg
1045 ms
cover_2.jpg
1045 ms
cover-2.jpg
1071 ms
cover.jpg
1113 ms
cover.jpg
1016 ms
Cover-1.jpg
1015 ms
cover.jpg
1015 ms
cover.jpg
1015 ms
cover.jpg
1070 ms
cover.jpg
1113 ms
project_cover.jpg
1016 ms
cover.jpg
1020 ms
cover-9.jpg
1017 ms
cover.jpg
1016 ms
yves_cover.jpg
1072 ms
yves_cover-1.jpg
1108 ms
cover.jpg
1023 ms
core.js
119 ms
analytics.js
330 ms
5442830.js
337 ms
collectedforms.js
355 ms
5442830.js
361 ms
fb.js
338 ms
cover.jpg
900 ms
cover.jpg
897 ms
portfolio_cover.jpg
898 ms
cover.jpg
950 ms
project_cover.jpg
987 ms
trump_cover.jpg
967 ms
Dentist_Cover.jpg
966 ms
cover.jpg
966 ms
fa-brands-400.woff
792 ms
fa-brands-400.woff
867 ms
fa-brands-400.ttf
877 ms
portfolio.jpg
874 ms
186 ms
front.jpg
813 ms
site.jpg
739 ms
cover-11.jpg
738 ms
cover-4.jpg
748 ms
front-1.jpg
709 ms
porfolio_cover.jpg
581 ms
front.jpg
582 ms
cover-12.jpg
582 ms
Front.jpg
562 ms
webicon_2.jpg
602 ms
webicon.jpg
596 ms
swing_site_portfolio.jpg
600 ms
Preview.jpg
604 ms
manny_front.jpg
604 ms
nicosia_front.jpg
608 ms
minotaur_front.jpg
601 ms
cover-5.jpg
594 ms
amy_winehouse_front.jpg
599 ms
costis_front.jpg
601 ms
stavros_front.jpg
602 ms
family_front.jpg
607 ms
group_front.jpg
599 ms
card_front.jpg
594 ms
cover-3.jpg
598 ms
christmas_2017_front.jpg
600 ms
christmas_2016_front.jpg
603 ms
michael_jackson_front.jpg
606 ms
gym_front.jpg
599 ms
seven_front.jpg
595 ms
cover-2.jpg
596 ms
portfolio.jpg
597 ms
hero_front.jpg
601 ms
cover_final.jpg
559 ms
cover_3_final.jpg
519 ms
alex_front.jpg
550 ms
cover_2_final.jpg
558 ms
box_front.jpg
560 ms
elke_front.jpg
566 ms
cover-6.jpg
503 ms
cover-7.jpg
544 ms
cover-8.jpg
577 ms
cover-10.jpg
587 ms
cover.jpg
589 ms
cover-1.jpg
597 ms
cover-2.jpg
596 ms
Fiverr-Pro@2x-q0gn7zf1s1oou8vkvj8ypb5ug7ea6zix2vocv6vfzw.png
590 ms
eco_t_printful_BG.jpg
591 ms
sweatshirt_printful_BG.jpg
597 ms
mug_printful_BG.jpg
596 ms
cushion_printful_BG.jpg
605 ms
canvas_printful_BG.jpg
602 ms
8x10in_mockup_Person_Person_8x10-4.jpg
591 ms
8x10in_mockup_Person_Person_8x10-3.jpg
592 ms
12x16in_mockup_Person_Person_12x16-4.jpg
598 ms
12x16in_mockup_Person_Person_12x16-3.jpg
597 ms
12x18in_mockup_Person_Person_12x18-4.jpg
605 ms
12x18in_mockup_Person_Person_12x18-3.jpg
602 ms
16x20in_mockup_Person_Person_16x20-4.jpg
591 ms
16x20in_mockup_Person_Person_16x20-3.jpg
592 ms
18x24in_mockup_Person_Person_18x24-4.jpg
597 ms
18x24in_mockup_Person_Person_18x24-3.jpg
596 ms
24x36in_mockup_Person_Person_24x36-3.jpg
605 ms
24x36in_mockup_Person_Person_24x36-4.jpg
603 ms
autoptimize_single_29ed0396622780590223cd919f310dd7.css
100 ms
robsnow.eu 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
Heading elements are not in a sequentially-descending order
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
Links do not have a discernible name
robsnow.eu 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
robsnow.eu SEO score
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
EN
EN
UTF-8
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise Robsnow.eu 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 Robsnow.eu 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.
robsnow.eu
Open Graph data is detected on the main page of Rob Snow. This is the best way to make the web page social media friendly. Here is how it looks like on Facebook: