Open
Cached
·
just now
UP
HTTP Status
200
Ping
N/A
Technologies
18
Technologies Detected
CMS & Content (1)
| CMS |
WordPress
https://wordpress.org
|
||
|
Evidence:
|
|||
Infrastructure & Network (6)
| CDN |
Cloudflare CDNJS
https://cdnjs.cloudflare.com
|
5.12.0 | |
|
Evidence:
|
|||
| CDN |
Google Hosted Libraries
https://developers.google.com/speed/libraries
|
||
|
Evidence:
|
|||
| DNS Provider |
AWS Route53
https://aws.amazon.com/route53/
|
||
|
Evidence:
|
|||
| Hosting Provider |
Amazon
https://aws.amazon.com
|
||
|
Evidence:
|
|||
| Registrar |
Network Solutions
https://www.networksolutions.com
|
||
|
Evidence:
|
|||
| Web Server |
Nginx
https://nginx.org
|
||
|
Evidence:
|
|||
Development (1)
| JavaScript Library |
jQuery
https://jquery.com
|
||
|
Evidence:
|
|||
Analytics & Marketing (2)
| Analytics |
Google Console
https://search.google.com/search-console
|
||
|
Evidence:
|
|||
| Analytics |
Google Tag Manager
https://tagmanager.google.com
|
||
|
Evidence:
|
|||
Security & Privacy (2)
| Privacy |
TrustArc
https://www.trustarc.com
|
||
|
Evidence:
|
|||
| Security |
Valimail
https://www.valimail.com
|
||
|
Evidence:
|
|||
SSL & Certificates (2)
| Certificate Authority |
DigiCert
https://www.digicert.com
|
||
|
Evidence:
|
|||
| Certificate Authority |
GeoTrust
https://www.geotrust.com
|
||
|
Evidence:
|
|||
Other (4)
| B2B Marketplace |
Amazon Business
https://www.amazon.com/business
|
||
|
Evidence:
|
|||
| Development |
Atlassian
https://atlassian.com
|
||
|
Evidence:
|
|||
| Finance |
Intacct
https://www.sageintacct.com
|
||
|
Evidence:
|
|||
| Technology |
Microsoft
https://www.microsoft.com
|
||
|
Evidence:
|
|||
Metadata & SEO
Domain Owner Information
View Full WHOISSSL/TLS Certificate
View Full SSL ReportSocial Media Cards
OpenGraph (8 properties)
Twitter Cards (1 properties)
Network & Hosting
View DNS RecordsCNAME Record
This domain is an alias for:
esmotionpointweb.convertlanguage.comResources
cloudflare.com (2 resources)
Resource Hints (1)
googleapis.com (3 resources)
googletagmanager.com (1 resources)
motionpoint.com (27 resources)
Scripts (18)
- • https://es.motionpoint.com/data:text/javascript;base64,dmFyIF9fZGlzcGF0Y2hlZF9fPXt9O3ZhciBfX2lfXz1zZWxmLnBvc3RNZXNzYWdlJiZzZXRJbnRlcnZhbChmdW5jdGlvbigpe2lmKHNlbGYuUHJpdmFjeU1hbmFnZXJBUEkmJl9faV9fKXt2YXIgYXBpT2JqZWN0PXtQcml2YWN5TWFuYWdlckFQSTp7YWN0aW9uOiJnZXRDb25zZW50RGVjaXNpb24iLHRpbWVzdGFtcDpuZXcgRGF0ZSgpLmdldFRpbWUoKSxzZWxmOnNlbGYubG9jYXRpb24uaG9zdH19O3NlbGYudG9wLnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KGFwaU9iamVjdCksIioiKTtfX2lfXz1jbGVhckludGVydmFsKF9faV9fKTt9fSw1MCk7c2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihlLGQpe3RyeXtpZihlLmRhdGEmJihkPUpTT04ucGFyc2UoZS5kYXRhKSkmJihkPWQuUHJpdmFjeU1hbmFnZXJBUEkpJiZkLmNhcGFiaWxpdGllcyYmZC5hY3Rpb249PSJnZXRDb25zZW50RGVjaXNpb24iKXt2YXIgbmV3RGVjaXNpb249c2VsZi5Qcml2YWN5TWFuYWdlckFQSS5jYWxsQXBpKCJnZXRHRFBSQ29uc2VudERlY2lzaW9uIixzZWxmLmxvY2F0aW9uLmhvc3QpLmNvbnNlbnREZWNpc2lvbjtuZXdEZWNpc2lvbiYmbmV3RGVjaXNpb24uZm9yRWFjaChmdW5jdGlvbihsYWJlbCl7aWYoIV9fZGlzcGF0Y2hlZF9fW2xhYmVsXSl7c2VsZi5kYXRhTGF5ZXImJnNlbGYuZGF0YUxheWVyLnB1c2goeyJldmVudCI6IkdEUFIgUHJlZiBBbGxvd3MgIitsYWJlbH0pO19fZGlzcGF0Y2hlZF9fW2xhYmVsXT0xO319KTt9fWNhdGNoKHh4KXt9fSk7
- • https://es.motionpoint.com/data:text/javascript;base64,d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKGV2ZW50KXt2YXIgZXZlbnREYXRhSnNvbj1udWxsO3RyeXtldmVudERhdGFKc29uPUpTT04ucGFyc2UoZXZlbnQuZGF0YSk7fWNhdGNoKGUpe30KaWYoZXZlbnREYXRhSnNvbiYmZXZlbnREYXRhSnNvbi5zb3VyY2U9PT0icHJlZmVyZW5jZV9tYW5hZ2VyIil7aWYoZXZlbnREYXRhSnNvbi5tZXNzYWdlPT09InN1Ym1pdF9wcmVmZXJlbmNlcyIpe2NvbnNvbGUubG9nKCJFdmVudCBEYXRhOiAiLGV2ZW50RGF0YUpzb24pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgY29uc2VudERlY2lzaW9uPXRydXN0ZS5jbWEuY2FsbEFwaSgiZ2V0R0RQUkNvbnNlbnREZWNpc2lvbiIsInlvdXJkb21haW4uY29tIik7aGFuZGxlQ29uc2VudERlY2lzaW9uKGNvbnNlbnREZWNpc2lvbik7fSw1MDApO319fSxmYWxzZSk7ZnVuY3Rpb24gaGFuZGxlQ29uc2VudERlY2lzaW9uKGNvbnNlbnQpe2NvbnNvbGUubG9nKCJbSGFuZGxlIENvbnNlbnQgRGVjaXNpb25dOiAiLGNvbnNlbnQpO3dpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtjb25zb2xlLmxvZygid2luZG93IHJlbG9hZGVkIik7fQ==
- • https://es.motionpoint.com/data:text/javascript;base64,CndpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOwo=
- • https://es.motionpoint.com/data:text/javascript;base64,KGZ1bmN0aW9uKHcsZCxzLGwsaSl7d1tsXT13W2xdfHxbXTt3W2xdLnB1c2goeydndG0uc3RhcnQnOgpuZXcgRGF0ZSgpLmdldFRpbWUoKSxldmVudDonZ3RtLmpzJ30pO3ZhciBmPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF0sCmo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQonaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPScraStkbDtmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGosZik7Cn0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnZGF0YUxheWVyJywnR1RNLTVEUkhQVicpOw==
- • https://www.motionpoint.com/wp-content/cache/autoptimize/1/js/autoptimize_single_c4c954a6b6d86e8c7257cfb38479b3c7.js
- • https://es.motionpoint.com/data:text/javascript;base64,TVAuVXJsTGFuZz0nbXBfanNfY3VycmVudF9sYW5nJztNUC5TcmNVcmw9ZGVjb2RlVVJJQ29tcG9uZW50KCdtcF9qc19vcmdpbl91cmwnKTtNUC5vU2l0ZT1kZWNvZGVVUklDb21wb25lbnQoJ21wX2pzX29yaWdpbl9iYXNlVXJsJyk7TVAudFNpdGU9ZGVjb2RlVVJJQ29tcG9uZW50KCdtcF9qc190cmFuc2xhdGVkX2Jhc2VVcmwnKTtNUC5pbml0KCk7dmFyIG1wX2xhbmdMaW5rPWZ1bmN0aW9uKCl7dmFyIGxhbmdsaW5rcz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubGFuZ0xpbmsnKTtmb3IodmFyIGk9MDtpPGxhbmdsaW5rcy5sZW5ndGg7aSsrKXtsYW5nbGlua3MuaXRlbShpKS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCcnKTtsYW5nbGlua3MuaXRlbShpKS5vbmNsaWNrPWZ1bmN0aW9uKCl7TVAuaW5pdCgpO3ZhciBsYW5nPXRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLWxhbmcnKTt2YXIgdXJsPXRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLWhyZWYnKTt2YXIgdFNpdGU9TVAudFNpdGUucmVwbGFjZSgvKGh0dHBzPzpcL1wvfFwvPyQpL2csJycpO3VybD11cmwucmVwbGFjZSgvKGh0dHBzPzpcL1wvfFwvPyQpL2csJycpO01QLnN3aXRjaExhbmd1YWdlKHRTaXRlLnNlYXJjaCh1cmwpIT0tMT9NUC5vU2l0ZTp1cmwsbGFuZyx0cnVlKTtyZXR1cm4gZmFsc2U7fX19O2lmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsbXBfbGFuZ0xpbmssZmFsc2UpO31lbHNlIGlmKHdpbmRvdy5hdHRhY2hFdmVudCl7d2luZG93LmF0dGFjaEV2ZW50KCdvbmxvYWQnLG1wX2xhbmdMaW5rKTt9
- • https://es.motionpoint.com/data:text/javascript;base64,DQoJCQlkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NOYW1lID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTmFtZS5yZXBsYWNlKCduby1qcycsICdqcycpOw0KCQk=
- • https://es.motionpoint.com/data:text/javascript;base64,d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soKCk9PnsoZnVuY3Rpb24oYSxiLGMsZCl7d2luZG93LmZldGNoKCdodHRwczovL3d3dy5nMi5jb20vcHJvZHVjdHMvbW90aW9ucG9pbnQvcmF0aW5nX3NjaGVtYS5qc29uJykudGhlbihlPT5lLmpzb24oKSkudGhlbihmPT57Yz1hLmNyZWF0ZUVsZW1lbnQoYik7Yy50eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIjtjLnRleHQ9SlNPTi5zdHJpbmdpZnkoZik7ZD1hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGIpWzBdO2QucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxkKTt9KTt9KShkb2N1bWVudCwic2NyaXB0Iik7fSk7
- • https://www.motionpoint.com/wp-content/cache/autoptimize/1/js/autoptimize_single_0fabcc33d191fe32419318c153215baa.js?ver=013818
- • https://es.motionpoint.com/data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgc211c2hMYXp5TG9hZE9wdGlvbnMgPSB7ImF1dG9SZXNpemluZ0VuYWJsZWQiOnRydWUsImF1dG9SZXNpemVPcHRpb25zIjp7InByZWNpc2lvbiI6NSwic2tpcEF1dG9XaWR0aCI6dHJ1ZX19OwovLyMgc291cmNlVVJMPXNtdXNoLWxhenktbG9hZC1qcy1iZWZvcmUKLyogXV0+ICovCg==
- • https://www.motionpoint.com/wp-content/plugins/wp-smush-pro/app/assets/js/smush-lazy-load.min.js?ver=3.23.1
- • https://es.motionpoint.com/data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgSXZvcnlTZWFyY2hWYXJzID0geyJpc19hbmFseXRpY3NfZW5hYmxlZCI6IjEifTsKLy8jIHNvdXJjZVVSTD1pdm9yeS1zZWFyY2gtc2NyaXB0cy1qcy1leHRyYQovKiBdXT4gKi8K
- • https://www.motionpoint.com/wp-content/plugins/add-search-to-menu/public/js/ivory-search.min.js?ver=5.5.13
- • https://es.motionpoint.com/data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgSXZvcnlBamF4VmFycyA9IHsiYWpheHVybCI6Imh0dHBzOi8vd3d3Lm1vdGlvbnBvaW50LmNvbS93cC1hZG1pbi9hZG1pbi1hamF4LnBocCIsImFqYXhfbm9uY2UiOiIzOGFhOWQyMzA0In07Ci8vIyBzb3VyY2VVUkw9aXZvcnktYWpheC1zZWFyY2gtc2NyaXB0cy1qcy1leHRyYQovKiBdXT4gKi8K
- • https://www.motionpoint.com/wp-content/plugins/add-search-to-menu/public/js/ivory-ajax-search.min.js?ver=5.5.13
- • https://www.motionpoint.com/wp-content/plugins/add-search-to-menu/public/js/is-highlight.min.js?ver=5.5.13
- • https://es.motionpoint.com/data:text/javascript;base64,dmFyIGlzRXhwcmVzc1BhZ2U9ZmFsc2U7aWYod2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJy9leHByZXNzLycpKXtpc0V4cHJlc3NQYWdlPXRydWU7fQp2YXIgbW9kYWxWaWV3ZWQ9Q29va2llcy5nZXQoJ2V4cHJlc3MtbW9kYWwtdmlldycpO3ZhciBleGl0TW9kYWxWaWV3ZWQ9Q29va2llcy5nZXQoJ2V4aXQtZXhwcmVzcy1tb2RhbC12aWV3Jyk7aWYoaXNFeHByZXNzUGFnZSl7dmFyIGV4cHJlc3NNb2RhbFZpZXdkPUNvb2tpZXMuZ2V0KCdtb2RhbC12aWV3LWV4cHJlc3NwYWdlJyk7aWYodHlwZW9mIGV4cHJlc3NNb2RhbFZpZXdkPT09J3VuZGVmaW5lZCcpe2V4cHJlc3NNb2RhbFZpZXdkPSdmYWxzZSc7fX0KaWYodHlwZW9mIG1vZGFsVmlld2VkPT09J3VuZGVmaW5lZCcpe21vZGFsVmlld2VkPSdmYWxzZSc7fQppZih0eXBlb2YgZXhpdE1vZGFsVmlld2VkPT09J3VuZGVmaW5lZCcpe2V4aXRNb2RhbFZpZXdlZD0nZmFsc2UnO30KZnVuY3Rpb24gbG9hZEhhbmRsZXIoKXtmdW5jdGlvbiBpbml0TG90dGllKCl7aWYod2luZG93LmlubmVyV2lkdGg+OTE2KXtjb25zdCBoZXJvTG90dGllPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoZXJvLWxvdHRpZScpO2NvbnN0IGFuaW1hdGlvbj1sb3R0aWUubG9hZEFuaW1hdGlvbih7Y29udGFpbmVyOmhlcm9Mb3R0aWUscGF0aDonL3dwLWNvbnRlbnQvdGhlbWVzL21vdGlvbnBvaW50L2pzL3UvYWRhcHRpdmUtdHJhbnNsYXRpb24tY29tcHJlc3NlZC1maW5hbC5qc29uJyxyZW5kZXJlcjonc3ZnJyxsb29wOmZhbHNlLGF1dG9wbGF5OnRydWUsfSk7YW5pbWF0aW9uLmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUxvYWRlZCcsZnVuY3Rpb24oKXtjb25zdCBwbGFjZWhvbGRlcj1oZXJvTG90dGllLnF1ZXJ5U2VsZWN0b3IoJ2ltZycpO2lmKHBsYWNlaG9sZGVyKXtwbGFjZWhvbGRlci5zdHlsZS5kaXNwbGF5PSdub25lJzt9fSk7YW5pbWF0aW9uLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbXBsZXRlJyxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXthbmltYXRpb24uZ29Ub0FuZFBsYXkoMCk7fSw1MDAwKTt9KTt9fQppbml0TG90dGllKCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsZnVuY3Rpb24oKXtjb25zdCBoZXJvTG90dGllPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdoZXJvLWxvdHRpZScpO2lmKGhlcm9Mb3R0aWUpe2luaXRMb3R0aWUoKTt9fSk7dmFyIHNjcmVlbldpZHRoPSQod2luZG93KS53aWR0aCgpO3ZhciBzY3JlZW5IZWlnaHQ9JCh3aW5kb3cpLmhlaWdodCgpO3ZhciBtaWR3YXlQb2ludD0oc2NyZWVuSGVpZ2h0LzIpKzUwO3ZhciBzZWN0aW9ucz0kKCdzZWN0aW9uJyk7dmFyIHRvdGFsU2VjdGlvbnM7dmFyIGNvbXBsZXRpb25BcnJheT1bXTt2YXIgdW5maXJvbUhlaWdodD0wO3ZhciBsb2dvU2xpZGVyPSQoJyNsb2dvLXNsaWRlcicpO3ZhciBmb3JtU2VjdGlvbj0kKCcjZm9ybS1zZWN0aW9uJyk7dmFyIGRpc3BsYXlGb3JtTGluaz0kKCcuZm9ybS1saW5rJyk7dmFyIGRpc3BsYXlFeHByZXNzRm9ybUxpbms9JCgnLmV4cHJlc3MtZm9ybS1saW5rJyk7dmFyIGNsb3NlRm9ybUxpbms9JCgnI2Zvcm0tY2xvc2UnKTt2YXIgZW5kUmVzaXplO3ZhciB0eXBlU2VsZWN0b3JHcmFwaGljPSQoJzxkaXYgY2xhc3M9InR5cGUtc2VsZWN0b3IgYmxpbmsgYmctZGFyay1ncmF5Ij48L2Rpdj4nKTt2YXIgbW9kYWxDbG9zZT0kKCcubW9kYWwtY2xvc2UnKTt2YXIgc3RhcnRUaW1lO3ZhciBtb3VzZU1vdmluZ1VwQW5kUmlnaHQ9ZmFsc2U7dmFyIGxlZnRXaW5kb3c9ZmFsc2U7ZnVuY3Rpb24gY2FwdHVyZVByaWNpbmdGb3JtKCl7dmFyIHdlYnNpdGVVUkw9JCgnW25hbWU9IlByb2plY3QgV2Vic2l0ZSBVUkwiXScpLnZhbCgpO3ZhciBvcmlnaW5MYW5ndWFnZT0kKCdbbmFtZT0iUHJvamVjdCBPcmlnaW4gTGFuZ3VhZ2UiXScpLnZhbCgpO3ZhciBsYW5ndWFnZXNOZWVkZWQ9JCgnW25hbWU9IlByb2plY3QgTGFuZ3VhZ2VzIl0nKS52YWwoKTt2YXIgZXN0aW1hdGVkV29yZHM9JCgnW25hbWU9IlByb2plY3QgV29yZCBDb3VudCJdJykudmFsKCk7dmFyIGNtc1R5cGU9JCgnW25hbWU9IlByb2plY3QgQ01TIl0nKS52YWwoKTt2YXIgZHluYW1pY0NvbnRlbnQ9JCgnW25hbWU9IkR5bmFtaWMgQ29udGVudCJdJykudmFsKCk7dmFyIGN1cnJlbnRVUkw9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIGZvcm1Mb2NhdGlvbj0nJztpZihjdXJyZW50VVJMLmluZGV4T2YoIm1wLWxpdGUiKSE9PS0xKXtmb3JtTG9jYXRpb249J01QIExpdGUnO31lbHNle2Zvcm1Mb2NhdGlvbj0nUHJpY2luZyBQYWdlJzt9CnZhciBkYXRhPXt3ZWJzaXRlX3VybDp3ZWJzaXRlVVJMLG9yaWdpbl9sYW5ndWFnZTpvcmlnaW5MYW5ndWFnZSxsYW5ndWFnZXNfbmVlZGVkOmxhbmd1YWdlc05lZWRlZCxlc3RpbWF0ZWRfbnVtYmVyX29mX3dvcmRzOmVzdGltYXRlZFdvcmRzLGNtc190eXBlOmNtc1R5cGUsZHluYW1pY19jb250ZW50OmR5bmFtaWNDb250ZW50LGZvcm1fbG9jYXRpb246Zm9ybUxvY2F0aW9ufTskLmFqYXgoe3VybDonL2FqYXgtcHJpY2luZy1mcm9tLWVtYWlsLycsdHlwZTonR0VUJyxkYXRhOmRhdGEsc3VjY2VzczpmdW5jdGlvbihyZXNwb25zZSl7Y29uc29sZS5sb2coJ3N1Y2Nlc3MhJyk7Y29uc29sZS5sb2cocmVzcG9uc2UpO30sZXJyb3I6ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKCdBSkFYIHJlcXVlc3QgZmFpbGVkJyk7fX0pO30KZnVuY3Rpb24gc2hvd0Jhbm5lcigpe2lmKG1vZGFsVmlld2VkPT0ndHJ1ZScpeyQoJyNvZmZlci1iYW5uZXInKS5zaG93KCk7fX0Kc2hvd0Jhbm5lcigpO2Z1bmN0aW9uIHNob3dFeHByZXNzQmFubmVyKCl7aWYoZXhwcmVzc01vZGFsVmlld2Q9PSd0cnVlJyl7JCgnI29mZmVyLWJhbm5lci1leHByZXNzJykuc2hvdygpO319CmlmKGlzRXhwcmVzc1BhZ2Upe3Nob3dFeHByZXNzQmFubmVyKCk7fQokKCcubW9kYWwtYmFja2dyb3VuZCcpLmNsaWNrKGZ1bmN0aW9uKGV2ZW50KXt2YXIgdGFyZ2V0RWxlbWVudD1ldmVudC50YXJnZXQ7aWYoJCh0YXJnZXRFbGVtZW50KS5oYXNDbGFzcygnbW9kYWwtY2xvc2UnKXx8JCh0YXJnZXRFbGVtZW50KS5oYXNDbGFzcygnbW9kYWwtYmFja2dyb3VuZCcpKXskKCcubW9kYWwtYmFja2dyb3VuZCcpLmhpZGUoKTt9fSk7JCgnLmNsb3NlLXBvcG92ZXInKS5jbGljayhmdW5jdGlvbigpeyQoJyNtb2JpbGUtcG9wJykuaGlkZSgpO30pOyQoJy5hY2NvcmRpb24taXRlbScpLmNsaWNrKGZ1bmN0aW9uKCl7dmFyIGFjY29yZGlvbkNvbnRlbnQ9JCh0aGlzKS5uZXh0KCcuYWNjb3JkaW9uLWNvbnRlbnQnKTt2YXIgYWNjb3Jpb25BcnJvdz0kKHRoaXMpLmZpbmQoJy5hcnJvdycpO2FjY29yZGlvbkNvbnRlbnQuc2xpZGVUb2dnbGUoKTtpZihhY2NvcmlvbkFycm93Lmhhc0NsYXNzKCd1cCcpKXthY2NvcmlvbkFycm93LnJlbW92ZUNsYXNzKCd1cCcpO2FjY29yaW9uQXJyb3cuYWRkQ2xhc3MoJ2Rvd24nKTt9CmVsc2V7YWNjb3Jpb25BcnJvdy5yZW1vdmVDbGFzcygnZG93bicpO2FjY29yaW9uQXJyb3cuYWRkQ2xhc3MoJ3VwJyk7fX0pOyQoJyN2aWRlby1kZW1vLXJldmVhbCcpLmNsaWNrKGZ1bmN0aW9uKCl7JCgnI3ZpZGVvLWRlbW8tZm9ybScpLnNob3coKTskKCcjdmlkZW8tZGVtby1mb3JtJykuYW5pbWF0ZSh7aGVpZ2h0OicxODBweCcsfSwzMDApO30pOyQoIi5yZXZlYWwtbW9yZSIpLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpOyQodGhpcykucGFyZW50KCkubmV4dCgicCIpLnNsaWRlVG9nZ2xlKCk7fSk7ZnVuY3Rpb24gcG9wRXhwcmVzc01vZGFsKGJhbm5lclRyaWdnZXIpe2NvbnNvbGUubG9nKCJsZXRzIHBvcCB0aGlzIHRoaW5nOiAiK2V4cHJlc3NNb2RhbFZpZXdkKTtpZih0cnVlKXtjb25zb2xlLmxvZygnc2hvdyBtb2RhbCEnKTtleHByZXNzTW9kYWxWaWV3ZD0ndHJ1ZSc7Q29va2llcy5zZXQoJ21vZGFsLXZpZXctZXhwcmVzc3BhZ2UnLCd0cnVlJyk7dmFyIG1vZGFsPSQoJyNvZmZlci1tb2RhbC1leHByZXNzJyk7dmFyIG1vZGFsQm9keT1tb2RhbC5maW5kKCcubW9kYWwtYm9keScpO21vZGFsLnNob3coKTtpZihpc0Rlc2t0b3AoKSl7bW9kYWxCb2R5LmFuaW1hdGUoeyd0b3AnOic1MHB4Jywnb3BhY2l0eSc6MX0pO30KZWxzZXttb2RhbEJvZHkuYW5pbWF0ZSh7J3RvcCc6JzBweCcsJ29wYWNpdHknOjF9KTt9CnNob3dFeHByZXNzQmFubmVyKCk7bW9kYWxDbG9zZS5jbGljayhmdW5jdGlvbigpe21vZGFsLmhpZGUoKTttb2RhbEJvZHkuYXR0cignc3R5bGUnLCcnKTt9KTt9CmVsc2V7Y29uc29sZS5sb2coJ3Nob3cgQmFubmVyIScpO3Nob3dFeHByZXNzQmFubmVyKCk7fX0KJCgnI29mZmVyLWJhbm5lci1leHByZXNzIGEnKS5jbGljayhmdW5jdGlvbigpe3BvcEV4cHJlc3NNb2RhbCgndHJ1ZScpO30pO2Z1bmN0aW9uIHBvcE1vZGFsKG1vZGFsTmFtZSl7aWYobW9kYWxOYW1lPT0nb2ZmZXItbW9kYWwnJiZtb2RhbFZpZXdlZCE9J3RydWUnfHxtb2RhbE5hbWU9PSdleGl0LW1vZGFsJyYmZXhpdE1vZGFsVmlld2VkIT0ndHJ1ZScpe2lmKG1vZGFsTmFtZT09J29mZmVyLW1vZGFsJyl7bW9kYWxWaWV3ZWQ9J3RydWUnO0Nvb2tpZXMuc2V0KCdleHByZXNzLW1vZGFsLXZpZXcnLCd0cnVlJyk7c2hvd0Jhbm5lcigpO30KaWYobW9kYWxOYW1lPT0nZXhpdC1tb2RhbCcpe2V4aXRNb2RhbFZpZXdlZD0ndHJ1ZSc7Q29va2llcy5zZXQoJ2V4aXQtZXhwcmVzcy1tb2RhbC12aWV3JywndHJ1ZScpO30KdmFyIG1vZGFsPSQoJyMnK21vZGFsTmFtZSk7dmFyIG1vZGFsQm9keT1tb2RhbC5maW5kKCcubW9kYWwtYm9keScpO21vZGFsLnNob3coKTtpZihpc0Rlc2t0b3AoKSl7bW9kYWxCb2R5LmFuaW1hdGUoeyd0b3AnOic1MHB4Jywnb3BhY2l0eSc6MX0pO30KZWxzZXttb2RhbEJvZHkuYW5pbWF0ZSh7J3RvcCc6JzBweCcsJ29wYWNpdHknOjF9KTt9Cm1vZGFsQ2xvc2UuY2xpY2soZnVuY3Rpb24oKXttb2RhbC5oaWRlKCk7bW9kYWxCb2R5LmF0dHIoJ3N0eWxlJywnJyk7fSk7fX0KZnVuY3Rpb24gZmluZEN1cnJlbnRTZWN0aW9uKCl7c2VjdGlvbnMuZWFjaChmdW5jdGlvbihpbmRleCl7dmFyIHNlY3Rpb25Ub3BQb3M9TWF0aC5yb3VuZCgkKHRoaXMpLm9mZnNldCgpLnRvcCktJCh3aW5kb3cpLnNjcm9sbFRvcCgpO3ZhciBzZWN0aW9uQm90dG9tPShNYXRoLnJvdW5kKCQodGhpcykub2Zmc2V0KCkudG9wKStNYXRoLnJvdW5kKCQodGhpcykub3V0ZXJIZWlnaHQodHJ1ZSkpKS0kKHdpbmRvdykuc2Nyb2xsVG9wKCk7aWYoc2VjdGlvblRvcFBvczxtaWR3YXlQb2ludCYmc2VjdGlvbkJvdHRvbT5taWR3YXlQb2ludCl7aWYoJCh0aGlzKS5kYXRhKCdhbmltYXRlJyk9PSdjb250ZW50IGNpcmNsZXMnKXskKHRoaXMpLmRhdGEoJ2FuaW1hdGUnLCdmaW5pc2hlZCcpO2lmKGlzRGVza3RvcCgpKXtzaG93Q29udGVudENpcmNsZXMoKTt9fQplbHNle2lmKCQodGhpcykuZGF0YSgnYW5pbWF0ZScpIT0nZmluaXNoZWQnKXthbmltYXRlU2VjdGlvbkNvbnRlbnRzKCQodGhpcykpOyQodGhpcykuZGF0YSgnYW5pbWF0ZScsJ2ZpbmlzaGVkJyk7fX19fSk7fQpmdW5jdGlvbiBkb2NQcmljaW5nV2l6YXJkKCl7dmFyIHNjcm9sbFBvcz0kKHdpbmRvdykuc2Nyb2xsVG9wKCk7dmFyIGhhbGZEb2NIZWlnaHQ9KCQoZG9jdW1lbnQpLmhlaWdodCgpLzIpO3ZhciB0aGlyZERvY0hlaWdodD0oJChkb2N1bWVudCkuaGVpZ2h0KCkvMyk7dmFyICRwcmljaW5nV2l6YXJkSGVybz0kKCcucHJpY2luZy13aXphcmQtaGVybycpO3ZhciAkcHJpY2luZ1dpemFyZEZvb3Rlcj0kKCcucHJpY2luZy13aXphcmQtZm9vdGVyJyk7aWYoc2Nyb2xsUG9zPmhhbGZEb2NIZWlnaHQpe2lmKCRwcmljaW5nV2l6YXJkRm9vdGVyLmlzKCc6ZW1wdHknKXx8JC50cmltKCRwcmljaW5nV2l6YXJkRm9vdGVyLmh0bWwoKSk9PT0nJyl7JCgnI3ByaWNpbmctd2l6YXJkJykuZGV0YWNoKCkuYXBwZW5kVG8oJyNwcmljaW5nLXdpemFyZC1mb290ZXInKTt9fQppZihzY3JvbGxQb3M8dGhpcmREb2NIZWlnaHQpe2lmKCRwcmljaW5nV2l6YXJkSGVyby5pcygnOmVtcHR5Jyl8fCQudHJpbSgkcHJpY2luZ1dpemFyZEhlcm8uaHRtbCgpKT09PScnKXskKCcjcHJpY2luZy13aXphcmQnKS5kZXRhY2goKS5hcHBlbmRUbygnI3ByaWNpbmctd2l6YXJkLWhlcm8nKTt9fX0KZG9jUHJpY2luZ1dpemFyZCgpO2Z1bmN0aW9uIGRvY2tUYWJsZUhlYWRlcigpe2lmKGlzRGVza3RvcCYmJCgnI3RhYmxlLXN0YXJ0JykubGVuZ3RoPjApe3ZhciBoZWFkZXJQb3NpdGlvbj0kKCcjdGFibGUtc3RhcnQnKS5vZmZzZXQoKS50b3AtJCh3aW5kb3cpLnNjcm9sbFRvcCgpO3ZhciBzdG9wcGluZ1BvaW50PSQoJyN0YWJsZS1mb290ZXInKS5vZmZzZXQoKS50b3AtJCh3aW5kb3cpLnNjcm9sbFRvcCgpO2lmKHN0b3BwaW5nUG9pbnQ8MTEwKXskKCcjdGFibGUtaGVhZGVyJykucmVtb3ZlQ2xhc3MoJ2NvbnRhaW5lciBmaXhlZC1oZWFkZXInKTt9CmVsc2UgaWYoaGVhZGVyUG9zaXRpb248NzUpeyQoJyN0YWJsZS1oZWFkZXInKS5hZGRDbGFzcygnY29udGFpbmVyIGZpeGVkLWhlYWRlcicpO30KZWxzZSBpZihoZWFkZXJQb3NpdGlvbj43NSl7JCgnI3RhYmxlLWhlYWRlcicpLnJlbW92ZUNsYXNzKCdjb250YWluZXIgZml4ZWQtaGVhZGVyJyk7fX0KZWxzZXskKCcjdGFibGUtaGVhZGVyJykucmVtb3ZlQ2xhc3MoJ2NvbnRhaW5lciBmaXhlZC1oZWFkZXInKTt9fQpkb2NrVGFibGVIZWFkZXIoKTtmdW5jdGlvbiBzaHVmZmxlKGFycil7Zm9yKHZhciBqLHgsaT1hcnIubGVuZ3RoO2k7aj1wYXJzZUludChNYXRoLnJhbmRvbSgpKmkpLHg9YXJyWy0taV0sYXJyW2ldPWFycltqXSxhcnJbal09eCk7cmV0dXJuIGFycjt9CmZ1bmN0aW9uIGlzRGVza3RvcCgpe2lmKCQod2luZG93KS53aWR0aCgpPjkxNSl7cmV0dXJuIHRydWU7fWVsc2V7cmV0dXJuIGZhbHNlO319CmZ1bmN0aW9uIG9uZVBlcmNlbnRPZih2YWx1ZSl7dmFyIG9uZVBlcmNlbnQ9dmFsdWUvMTAwO3JldHVybiBvbmVQZXJjZW50O30KdmFyIGhlcm9BbmltYXRlU3RlcD0wO3ZhciBhbmltYXRpb25TcGVlZD0xNDAwO2Z1bmN0aW9uIGFuaW1hdGVIb21lSGVybygpe2lmKGhlcm9BbmltYXRlU3RlcDwyKXskKCcudHJhbnNpdGlvbi10ZXh0JykuZXEoaGVyb0FuaW1hdGVTdGVwKS5kZWxheSgxNDAwKS5hbmltYXRlKHsnb3BhY2l0eSc6MH0sMTQwMCxmdW5jdGlvbigpeyQodGhpcykuaGlkZSgpOyQodGhpcykubmV4dCgpLmNzcyh7J2Rpc3BsYXknOidpbmxpbmUnfSk7JCh0aGlzKS5uZXh0KCkuYW5pbWF0ZSh7J29wYWNpdHknOjF9LDE0MDAsZnVuY3Rpb24oKXskKCcudHJhbnNpdGlvbi1pbWFnZScpLmVxKGhlcm9BbmltYXRlU3RlcCsxKS5hbmltYXRlKHsnb3BhY2l0eSc6MX0sMTQwMCk7aGVyb0FuaW1hdGVTdGVwKys7YW5pbWF0ZUhvbWVIZXJvKCk7fSk7fSk7fX0KaWYoaXNEZXNrdG9wKCkpe2FuaW1hdGVIb21lSGVybygpO30KZnVuY3Rpb24gYW5pbWF0ZUxvZ29zKCl7dmFyIGZpcnN0TG9nbz0kKCcjbG9nby1zbGlkZXIgLmdyaWQtYXV0bzpmaXJzdCcpO3ZhciBsYXN0TG9nbz0kKCcjbG9nby1zbGlkZXIgLmdyaWQtYXV0bzpsYXN0Jyk7dmFyIGZpcnN0TG9nb1dpZHRoPWZpcnN0TG9nby5vdXRlcldpZHRoKHRydWUpO3ZhciBhbmltYXRpb25TcGVlZD00NTAwMDt2YXIgYmFzZVNpemU9MTA7dmFyIG9uZVBlcmNlbnRTcGVlZD1hbmltYXRpb25TcGVlZC8xMDA7dmFyIG9uZVBlcmNlbnRTaXplPWJhc2VTaXplLzEwMDt2YXIgc2l6ZURpZmZlcmVuY2U9Zmlyc3RMb2dvV2lkdGgtYmFzZVNpemU7dmFyIHBlcmNlbnRhZ2VDaGFuZ2U9c2l6ZURpZmZlcmVuY2Uqb25lUGVyY2VudFNpemU7dmFyIHNwZWVkQ2hhbmdlPXBlcmNlbnRhZ2VDaGFuZ2Uqb25lUGVyY2VudFNwZWVkO2FuaW1hdGlvblNwZWVkPXNwZWVkQ2hhbmdlO2xvZ29TbGlkZXIuYW5pbWF0ZSh7bGVmdDonLScrZmlyc3RMb2dvV2lkdGgrJ3B4J30sYW5pbWF0aW9uU3BlZWQsJ2xpbmVhcicsZnVuY3Rpb24oKXtmaXJzdExvZ28uaW5zZXJ0QWZ0ZXIobGFzdExvZ28pO2xvZ29TbGlkZXIuY3NzKHsnbGVmdCc6JzBweCd9KTthbmltYXRlTG9nb3MoKTt9KTt9CmZ1bmN0aW9uIGFuaW1hdGVTZWN0aW9uQ29udGVudHMoY3VycmVudFNlY3Rpb24pe2lmKGlzRGVza3RvcCgpKXt2YXIgYW5pbWF0ZUVsZW1lbnRzPWN1cnJlbnRTZWN0aW9uLmZpbmQoJy5ncmlkLTQ6bm90KC5uby1hbmltYXRlKSwgLmdyaWQtMzpub3QoLm5vLWFuaW1hdGUpLCAuYW5pbWF0ZSwgLmFuaW1hdGUtdG9wLCAuYW5pbWF0ZS1yaWdodCwgLmFuaW1hdGUtYm90dG9tLCAuYW5pbWF0ZS1sZWZ0Jyk7dmFyIGRlbGF5U3BlZWQ9NTAwO2lmKGFuaW1hdGVFbGVtZW50cy5sZW5ndGg+NCl7ZGVsYXlTcGVlZD0xNTA7fQphbmltYXRlRWxlbWVudHMuZWFjaChmdW5jdGlvbihpbmRleCl7aWYoJCh0aGlzKS5oYXNDbGFzcygnYW5pbWF0ZScpKXskKHRoaXMpLmRlbGF5KGRlbGF5U3BlZWQqKGluZGV4KSkuYW5pbWF0ZSh7J29wYWNpdHknOjF9LDcwMCk7fQplbHNlIGlmKCQodGhpcykuaGFzQ2xhc3MoJ2FuaW1hdGUtbGVmdCcpKXskKHRoaXMpLmNzcyh7J2xlZnQnOictPTMwJ30pOyQodGhpcykuZGVsYXkoZGVsYXlTcGVlZCooaW5kZXgpKS5hbmltYXRlKHsnbGVmdCc6Jys9MzAnLCdvcGFjaXR5JzoxfSw3MDApO30KZWxzZSBpZigkKHRoaXMpLmhhc0NsYXNzKCdhbmltYXRlLXJpZ2h0JykpeyQodGhpcykuY3NzKHsnbGVmdCc6Jys9MzAnfSk7JCh0aGlzKS5kZWxheShkZWxheVNwZWVkKihpbmRleCkpLmFuaW1hdGUoeydsZWZ0JzonLT0zMCcsJ29wYWNpdHknOjF9LDcwMCk7fQplbHNlIGlmKCQodGhpcykuaGFzQ2xhc3MoJ2FuaW1hdGUtYm90dG9tJykpeyQodGhpcykuY3NzKHsndG9wJzonLT0zMCcsJ29wYWNpdHknOjB9KTskKHRoaXMpLmRlbGF5KGRlbGF5U3BlZWQqKGluZGV4KSkuYW5pbWF0ZSh7J3RvcCc6Jys9MzAnLCdvcGFjaXR5JzoxfSw3MDApO30KZWxzZXskKHRoaXMpLmNzcyh7J3RvcCc6Jys9MzAnLCdvcGFjaXR5JzowfSk7JCh0aGlzKS5kZWxheShkZWxheVNwZWVkKihpbmRleCkpLmFuaW1hdGUoeyd0b3AnOictPTMwJywnb3BhY2l0eSc6MX0sNzAwKTt9fSk7fX0KZnVuY3Rpb24gc3RvcEFuaW1hdGlvbnMoKXskKCIuY29udGVudC1jaXJjbGUiKS5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS5zdG9wKCk7JCh0aGlzKS5hdHRyKCdzdHlsZScsJycpO30pOyQoIi5jb250ZW50LWNpcmNsZSIpLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLnN0b3AoKTskKHRoaXMpLmF0dHIoJ3N0eWxlJywnJyk7fSk7aWYoIWlzRGVza3RvcCgpKXskKCcjbG9nby1zbGlkZXInKS5zdG9wKCk7JCgnI2xvZ28tc2xpZGVyJykuYXR0cignc3R5bGUnLCcnKTt9CmlmKGlzRGVza3RvcCgpKXtzaG93Q29udGVudENpcmNsZXMoKTt9fQpmdW5jdGlvbiBzaG93Q29udGVudENpcmNsZXMoKXt2YXIgc3RhcnRpbmdXaWR0aD05NTE7dmFyIHN0YXJ0aW5nSGVpZ2h0PTQ2NTt2YXIgaGFsZlNjcmVlbj0kKHdpbmRvdykud2lkdGgoKS8yO2lmKGhhbGZTY3JlZW4+c3RhcnRpbmdXaWR0aCl7aGFsZlNjcmVlbj1zdGFydGluZ1dpZHRoO30KdmFyIHJlZHVjdGlvbj1zdGFydGluZ1dpZHRoLWhhbGZTY3JlZW47dmFyIHBlcmNlbnREaWZmZXJlbmNlPShyZWR1Y3Rpb24vc3RhcnRpbmdXaWR0aCkqMTAwOyQoJy5jb250ZW50LWNpcmNsZScpLmVhY2goZnVuY3Rpb24oKXt2YXIgY2lyY2xlPSQodGhpcyk7dmFyIGNpcmNsZVA9Y2lyY2xlLmZpbmQoJ3AnKTtjaXJjbGUucmVtb3ZlQXR0cignc3R5bGUnKTtjaXJjbGVQLnJlbW92ZUF0dHIoJ3N0eWxlJyk7dmFyIGNpcmNsZVdpZHRoPWNpcmNsZS53aWR0aCgpO3ZhciBjaXJjbGVQb3NpdGlvbj1jaXJjbGUucG9zaXRpb24oKTt2YXIgZm9udFNpemU9U3RyaW5nKGNpcmNsZVAuY3NzKCJmb250LXNpemUiKS5yZXBsYWNlKCdweCcsJycpKTt2YXIgbmV3V2lkdGg9Y2lyY2xlV2lkdGgtKG9uZVBlcmNlbnRPZihjaXJjbGVXaWR0aCkqcGVyY2VudERpZmZlcmVuY2UpO3ZhciBuZXdUb3A9KGNpcmNsZVBvc2l0aW9uLnRvcCsocmVkdWN0aW9uLzMpKS0ob25lUGVyY2VudE9mKGNpcmNsZVBvc2l0aW9uLnRvcCkqcGVyY2VudERpZmZlcmVuY2UpO3ZhciBuZXdMZWZ0PWNpcmNsZVBvc2l0aW9uLmxlZnQtKG9uZVBlcmNlbnRPZihjaXJjbGVQb3NpdGlvbi5sZWZ0KSpwZXJjZW50RGlmZmVyZW5jZSk7dmFyIG5ld0ZvbnRTaXplPWZvbnRTaXplLShvbmVQZXJjZW50T2YoZm9udFNpemUpKnBlcmNlbnREaWZmZXJlbmNlKTtjaXJjbGUuY3NzKHsnd2lkdGgnOm5ld1dpZHRoKydweCcsJ2hlaWdodCc6bmV3V2lkdGgrJ3B4JywndG9wJzpuZXdUb3AsJ2xlZnQnOm5ld0xlZnQsfSk7Y2lyY2xlUC5jc3MoJ2ZvbnRTaXplJyxuZXdGb250U2l6ZSk7fSk7Y2lyY2xlRmxvYXQoKTt9CmZ1bmN0aW9uIGZsb2F0Q2lyY2xlKGNpcmNsZSl7eD1NYXRoLnJhbmRvbSgpKjI7Ym91bmNlPXgrNTtzd2F5PXgrNzt2YXIgc3RhcnQ7dmFyIGVuZDt2YXIgZGlyZWN0aW9uO2lmKHglMj09MCl7c3RhcnQ9JysnO2VuZD0nLSc7ZGlyZWN0aW9uPSdsZWZ0Jzt9ZWxzZXtzdGFydD0nLSc7ZW5kPScrJztkaXJlY3Rpb249J3JpZ2h0Jzt9CmNpcmNsZS5hbmltYXRlKHsndG9wJzonKz0nK2JvdW5jZSsncHgnLCd3aWR0aCc6Jy09Jyt4KydweCcsJ2hlaWdodCc6Jy09Jyt4KydweCd9LDIwMDAsZnVuY3Rpb24oKXtjaXJjbGUuYW5pbWF0ZSh7J3RvcCc6Jy09Jytib3VuY2UrJ3B4Jywnd2lkdGgnOicrPScreCsncHgnLCdoZWlnaHQnOicrPScreCsncHgnfSwyMDAwKTtmbG9hdENpcmNsZSgkKHRoaXMpKTt9KTt9CmZ1bmN0aW9uIGNpcmNsZUZsb2F0KCl7dmFyIGNpcmNsZXM9JCgiLmNvbnRlbnQtY2lyY2xlIik7dmFyIGFycj1bXTt2YXIgZGVsZXlTcGVlZD0wO2ZvcihpPTA7aTxjaXJjbGVzLmxlbmd0aDtpKyspe2Fyci5wdXNoKGkpO30KYXJyPXNodWZmbGUoYXJyKTtmb3IoaT0wO2k8Y2lyY2xlcy5sZW5ndGg7aSsrKXtkZWxleVNwZWVkPWRlbGV5U3BlZWQrMjAwO3ZhciBjdXJyZW50Q2lyY2xlPWNpcmNsZXMuZXEoYXJyW2ldKTtjdXJyZW50Q2lyY2xlLmRlbGF5KGRlbGV5U3BlZWQpLmFuaW1hdGUoeydvcGFjaXR5JzonMSd9LDcwMCxmdW5jdGlvbigpe30pO319CmZ1bmN0aW9uIHJlc2l6ZWR3KCl7c3RvcEFuaW1hdGlvbnMoKTtpZihpc0Rlc2t0b3AoKSl7fWVsc2V7JCgiLmNvbnRlbnQtY2lyY2xlIikuYXR0cignc3R5bGUnLCcnKTt9fQpsZXQgJHNvbHV0aW9ucz0kKCIuaG9tZS1oZXJvLXNvbHV0aW9uIik7bGV0IGluZGV4PTA7JHNvbHV0aW9ucy5oaWRlKCkuZXEoaW5kZXgpLnNob3coKTtzZXRJbnRlcnZhbChmdW5jdGlvbigpeyRzb2x1dGlvbnMuZXEoaW5kZXgpLmZhZGVPdXQoZnVuY3Rpb24oKXtpbmRleD0oaW5kZXgrMSklJHNvbHV0aW9ucy5sZW5ndGg7JHNvbHV0aW9ucy5lcShpbmRleCkuZmFkZUluKCk7fSk7fSw1MDAwKTskKCdbbmFtZT0idmlkZW9fdHlwZSJdJykuY2hhbmdlKGZ1bmN0aW9uKCl7dmFyIHZpZGVvVHlwZT0kKHRoaXMpLnZhbCgpO2lmKHZpZGVvVHlwZT09J2FsbCcpeyQoJy52aWRlby1yZXNvdXJjZScpLmNzcygnZGlzcGxheScsJ2ZsZXgnKTt9CmVsc2V7JCgnLnZpZGVvLXJlc291cmNlJykuY3NzKCdkaXNwbGF5Jywnbm9uZScpOyQoJ1tkYXRhLXZpZGVvLXR5cGU9IicrdmlkZW9UeXBlKyciXScpLmNzcygnZGlzcGxheScsJ2ZsZXgnKTt9fSk7JCgnI3ZpZGVvLXNlYXJjaCcpLm9uKCdpbnB1dCcsZnVuY3Rpb24oKXt2YXIgc2VhcmNoVmFsPSQodGhpcykudmFsKCkudG9Mb3dlckNhc2UoKTskKCcjdmlkZW8tbGlzdCAudmlkZW8tcmVzb3VyY2UnKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHRleHQ9JCh0aGlzKS50ZXh0KCkudG9Mb3dlckNhc2UoKTtpZih0ZXh0LmluY2x1ZGVzKHNlYXJjaFZhbCkpeyQodGhpcykuc2hvdygpO31lbHNleyQodGhpcykuaGlkZSgpO319KTt9KTskKCIudmlkZW8tc2VjdGlvbi1saW5rIikuY2xpY2soZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciB0YXJnZXRJZD0kKHRoaXMpLmRhdGEoImxpbmsiKTt2YXIgdGFyZ2V0RWxlbWVudD0kKCIjIit0YXJnZXRJZCk7aWYodGFyZ2V0RWxlbWVudC5sZW5ndGgpeyQoImh0bWwsIGJvZHkiKS5hbmltYXRlKHtzY3JvbGxUb3A6dGFyZ2V0RWxlbWVudC5vZmZzZXQoKS50b3B9LDQwMCk7fX0pO3ZhciBzY3JvbGxXaWR0aD0kKCcuY3VzdG9tLXNjcm9sbGJhciAuZ3JpZC00Jykub3V0ZXJXaWR0aCh0cnVlKSsxMDskKCcuc2Nyb2xsLWxlZnQtYnRuJykub24oJ2NsaWNrJyxmdW5jdGlvbigpe3ZhciBzY3JvbGxBbW91bnQ9JCgnLmN1c3RvbS1zY3JvbGxiYXInKS5zY3JvbGxMZWZ0KCk7JCgnLmN1c3RvbS1zY3JvbGxiYXInKS5hbmltYXRlKHtzY3JvbGxMZWZ0OnNjcm9sbEFtb3VudC1zY3JvbGxXaWR0aH0sJ3Nsb3cnKTt9KTskKCcuc2Nyb2xsLXJpZ2h0LWJ0bicpLm9uKCdjbGljaycsZnVuY3Rpb24oKXt2YXIgc2Nyb2xsQW1vdW50PSQoJy5jdXN0b20tc2Nyb2xsYmFyJykuc2Nyb2xsTGVmdCgpOyQoJy5jdXN0b20tc2Nyb2xsYmFyJykuYW5pbWF0ZSh7c2Nyb2xsTGVmdDpzY3JvbGxBbW91bnQrc2Nyb2xsV2lkdGh9LCdzbG93Jyk7fSk7JCgnLnNlYXJjaElucHV0Jykub24oJ2lucHV0JyxmdW5jdGlvbigpe2lmKCQodGhpcykudmFsKCkhPScnKXskKCcuc2VhcmNoU2VsZWN0Jykuc2hvdygpO30KZWxzZXskKCcuc2VhcmNoU2VsZWN0JykuaGlkZSgpO319KQokKCcubXAtbGl0ZS13ZWJzaXRlJykub24oJ2lucHV0JyxmdW5jdGlvbigpeyQodGhpcykuY2xvc2VzdCgnZm9ybScpLmZpbmQoJy53ZWJzaXRlLWZpZWxkIGxhYmVsJykucmVtb3ZlQ2xhc3MoJ2JnLWVycm9yJyk7fSk7JCgnLm1wLWxpdGUtbmV4dCcpLmNsaWNrKGZ1bmN0aW9uKCl7dmFyIGZvcm1FbGVtZW50PSQodGhpcykuY2xvc2VzdCgnZm9ybScpO3ZhciB3ZWJzaXRlSW5wdXQ9Zm9ybUVsZW1lbnQuZmluZCgnLm1wLWxpdGUtd2Vic2l0ZScpO3ZhciB3ZWJzaXRlV3JhcD1mb3JtRWxlbWVudC5maW5kKCcud2Vic2l0ZS1maWVsZCcpO3ZhciBsYW5ndWFnZUlucHV0PWZvcm1FbGVtZW50LmZpbmQoJy5tcC1saXRlLWxhbmd1YWdlcycpO3ZhciBsYW5ndWFnZVdyYXA9Zm9ybUVsZW1lbnQuZmluZCgnLmxhbmd1YWdlLWZpZWxkJyk7dmFyIG5leHRCdXR0b249Zm9ybUVsZW1lbnQuZmluZCgnLm1wLWxpdGUtbmV4dCcpO3ZhciBwcmV2aW91c0J1dHRvbj1mb3JtRWxlbWVudC5maW5kKCcubXAtbGl0ZS1wcmV2aW91cycpO3ZhciBzdWJtaXRCdXR0b249Zm9ybUVsZW1lbnQuZmluZCgnW3R5cGU9InN1Ym1pdCJdJyk7dmFyIGVtYWlsV3JhcD1mb3JtRWxlbWVudC5maW5kKCcuZW1haWwtZmllbGQnKTt2YXIgZW1haWxGaWVsZD1mb3JtRWxlbWVudC5maW5kKCcubXAtbGl0ZS1lbWFpbCcpO3ZhciBzdGVwT25lTWVzc2FnZT1mb3JtRWxlbWVudC5maW5kKCcubGl0ZS1zdGVwLTEnKTt2YXIgc3RlcFR3b01lc3NhZ2U9Zm9ybUVsZW1lbnQuZmluZCgnLmxpdGUtc3RlcC0yJyk7aWYod2Vic2l0ZUlucHV0LnZhbCgpPT0nJyl7d2Vic2l0ZVdyYXAuZmluZCgnbGFiZWwnKS5hZGRDbGFzcygnYmctZXJyb3InKTt9CmVsc2V7d2Vic2l0ZVdyYXAuZmluZCgnbGFiZWwnKS5yZW1vdmVDbGFzcygnYmctZXJyb3InKTt9CmlmKGxhbmd1YWdlSW5wdXQudmFsKCk9PScnKXtsYW5ndWFnZVdyYXAuZmluZCgnbGFiZWwnKS5hZGRDbGFzcygnYmctZXJyb3InKTt9CmVsc2V7bGFuZ3VhZ2VXcmFwLmZpbmQoJ2xhYmVsJykucmVtb3ZlQ2xhc3MoJ2JnLWVycm9yJyk7fQppZih3ZWJzaXRlSW5wdXQudmFsKCkhPScnJiZsYW5ndWFnZUlucHV0LnZhbCgpIT0nJyl7Y2FwdHVyZVByaWNpbmdGb3JtKCk7d2Vic2l0ZVdyYXAuaGlkZSgpO2xhbmd1YWdlV3JhcC5oaWRlKCk7c3RlcE9uZU1lc3NhZ2UuaGlkZSgpO3N0ZXBUd29NZXNzYWdlLnNob3coKTtuZXh0QnV0dG9uLmhpZGUoKTtwcmV2aW91c0J1dHRvbi5zaG93KCk7ZW1haWxXcmFwLnNob3coKTtzdWJtaXRCdXR0b24uc2hvdygpO3ByZXZpb3VzQnV0dG9uLm9mZigpO3ByZXZpb3VzQnV0dG9uLmNsaWNrKGZ1bmN0aW9uKCl7JCh0aGlzKS5oaWRlKCk7d2Vic2l0ZVdyYXAuc2hvdygpO2xhbmd1YWdlV3JhcC5zaG93KCk7c3RlcE9uZU1lc3NhZ2Uuc2hvdygpO3N0ZXBUd29NZXNzYWdlLmhpZGUoKTtuZXh0QnV0dG9uLnNob3coKTtlbWFpbFdyYXAuaGlkZSgpO3N1Ym1pdEJ1dHRvbi5oaWRlKCk7fSk7fX0pOyQoJy5mZWF0dXJlLW9wdGlvbicpLmNsaWNrKGZ1bmN0aW9uKCl7dmFyIGZlYXR1cmVTZWxlY3RlZD0kKHRoaXMpLmRhdGEoJ2ZlYXR1cmUnKTt2YXIgZmVhdHVyZUNvbnRhaW5lcj0kKHRoaXMpLmNsb3Nlc3QoJy5mZWF0dXJlcy1jYXJkLWJvZHknKTtmZWF0dXJlQ29udGFpbmVyLmZpbmQoJy5mZWF0dXJlLWRlc2NyaXB0aW9uJykuaGlkZSgpO2ZlYXR1cmVDb250YWluZXIuZmluZCgnLmZlYXR1cmUtb3B0aW9uJykucmVtb3ZlQ2xhc3MoJ2NvbG9yLWdyYXkgYmctd2hpdGUnKS5hZGRDbGFzcygnY29sb3Itd2hpdGUnKTskKHRoaXMpLnJlbW92ZUNsYXNzKCdjb2xvci13aGl0ZScpLmFkZENsYXNzKCdjb2xvci1ncmF5IGJnLXdoaXRlJyk7JCgnIycrZmVhdHVyZVNlbGVjdGVkKS5zaG93KCk7fSk7ZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2UoZXZlbnQpe3ZhciBkYXRhPWV2ZW50LmRhdGE7aWYoZGF0YSYmZGF0YVsiZXhwcmVGb3JtIl0pe3ZhciB0b3BGb3JtV3JhcD0kKCcjdG9wLWZvcm0td3JhcHBlcicpO3ZhciBib3R0b21Gb3JtV3JhcD0kKCcjdG9wLWZvcm0td3JhcHBlcicpO3ZhciBleHByZXNzRnJhbWU9JCgnI2V4cHJlc3MtZm9ybS1mcmFtZScpO3ZhciBleHByZXNzVGhhbmtzPSQoJzxkaXYgc3R5bGU9InBhZGRpbmc6IDE1cHg7Ym9yZGVyLXJhZGl1czogMjBweDsgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsiPjxoNCBjbGFzcz0iY29sb3Itd2hpdGUiPlRoYW5rIHlvdSE8L2g0PjxwIGNsYXNzPSJjb2xvci13aGl0ZSI+UmVkaXJlY3RpbmcgdG8gdGhlIE1QIEV4cHJlc3MgQXBwbGljYXRpb24gTG9naW48cD48L2Rpdj4nKTt0b3BGb3JtV3JhcC5hcHBlbmQoZXhwcmVzc1RoYW5rcyk7Ym90dG9tRm9ybVdyYXAuYXBwZW5kKGV4cHJlc3NUaGFua3MpO2V4cHJlc3NGcmFtZS5oaWRlKCk7Y29uc29sZS5sb2coZGF0YVsiZXhwcmVGb3JtIl0pO2NvbnNvbGUubG9nKGRhdGFbIlByb2plY3QgV2Vic2l0ZSBVUkwiXSk7Y29uc29sZS5sb2coZGF0YVsiUHJvamVjdCBPcmlnaW4gTGFuZ3VhZ2UiXSk7Y29uc29sZS5sb2coZGF0YVsiUHJvamVjdCBMYW5ndWFnZXMiXSk7Y29uc29sZS5sb2coZGF0YVsiZW1haWwiXSk7dmFyIGV4cHJlc3NBUFA9J2h0dHBzOi8vYXBwLm1vdGlvbnBvaW50ZXhwcmVzcy5jb20vX2VsL2V4dC9waGFyZG90L3dlYmhvb2s/JysnJlByb2plY3RfV2Vic2l0ZV9VUkw9JytkYXRhWyJQcm9qZWN0IFdlYnNpdGUgVVJMIl0rJyZQcm9qZWN0X0xhbmd1YWdlcz0nK2RhdGFbIlByb2plY3QgTGFuZ3VhZ2VzIl0rJyZlbWFpbD0nK2VuY29kZVVSSUNvbXBvbmVudChkYXRhLmVtYWlsKSsnJnByZXBvcHVsYXRlPWZhbHNlJztjb25zb2xlLmxvZygiZXhwcmVzcyBhcHAgdXJsIik7Y29uc29sZS5sb2coZXhwcmVzc0FQUCk7ZGF0YUxheWVyLnB1c2goeydldmVudCc6J2V4cHJlc3MtZm9ybS1zdWJtaXQnfSk7d2luZG93LmxvY2F0aW9uLmhyZWY9ZXhwcmVzc0FQUDt9fQp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScscmVjZWl2ZU1lc3NhZ2UsZmFsc2UpOyQoJ2lucHV0W25hbWU9IlByb2plY3QgV2Vic2l0ZSBVUkwiXScpLm9uKCdpbnB1dCcsZnVuY3Rpb24oKXtjb25zdCBpbnB1dFZhbHVlPSQodGhpcykudmFsKCk7aWYoaW5wdXRWYWx1ZS5pbmNsdWRlcygiYXJjaGl2ZW9mb3Vyb3duIikpeyQodGhpcykudmFsKCcnKTthbGVydCgiVGhlIFVSTCBjb250YWlucyBhIHJlc3RyaWN0ZWQga2V5d29yZCBhbmQgaGFzIGJlZW4gY2xlYXJlZC4iKTt9fSk7JCgnI2V4cHJlc3MtcmVnaXN0ZXInKS5jbGljayhmdW5jdGlvbigpe3ZhciBpbnB1dFZhbHVlPSQoJy5tcC1leHByZXNzLXdlYnNpdGUnKS52YWwoKS50cmltKCk7dmFyIGVtYWlsVmFsdWU9JCgnLm1wLWV4cHJlc3Mtd2Vic2l0ZScpLnZhbCgpLnRyaW0oKTtjb25zdCB5b3V0dWJlUmVnZXg9L3lvdXR1YmVcLmNvbXx5b3V0dVwuYmUvO2NvbnN0IGxldHRlclJlZ2V4PS9bYS16QS1aXS87aWYoIXlvdXR1YmVSZWdleC50ZXN0KGlucHV0VmFsdWUpJiZpbnB1dFZhbHVlLmluY2x1ZGVzKCcuJykmJiFpbnB1dFZhbHVlLmluY2x1ZGVzKCdAJykmJiFpbnB1dFZhbHVlLmluY2x1ZGVzKCcgJykmJmxldHRlclJlZ2V4LnRlc3QoaW5wdXRWYWx1ZSkpe2NvbnNvbGUubG9nKCdpbnB1dCB2YWx1ZSBpcyBub3QgZW1wdHknKTt2YXIgdXBkYXRlZFZhbHVlPWlucHV0VmFsdWUucmVwbGFjZSgvaHR0cHM/OlwvXC98d3d3XC58W1wvOl8tXS9nLCcnKTtjb25zb2xlLmxvZygndXBkYXRlIHZhbHVlOiAnK3VwZGF0ZWRWYWx1ZSk7dmFyIHRpbWVzdGFtcD1EYXRlLm5vdygpO3ZhciB0aW1lc3RhbXBBc1N0cmluZz10aW1lc3RhbXAudG9TdHJpbmcoKTtjb25zb2xlLmxvZygndGltZXN0YW1wIHN0cmluZzogJyt0aW1lc3RhbXBBc1N0cmluZyk7dmFyIGV4cHJlc3NFbWFpbD11cGRhdGVkVmFsdWUrJy0nK3RpbWVzdGFtcEFzU3RyaW5nKyJAbW90aW9ucG9pbnRleHByZXNzLmNvbSI7Y29uc29sZS5sb2coJ2V4cHJlc3MgZW1haWw6ICcrZXhwcmVzc0VtYWlsKTskKCcjZXhwcmVzcy1lbWFpbC1pbnB1dCcpLnZhbChleHByZXNzRW1haWwpO3ZhciBmb3JtPSQoJyNtcC1leHByZXNzLWZvcm0nKVswXTt2YXIgZm9ybURhdGE9bmV3IEZvcm1EYXRhKGZvcm0pO2NvbnN0IGRhdGE9eyJleHByZUZvcm0iOiJ0cnVlIiwiUHJvamVjdCBXZWJzaXRlIFVSTCI6Zm9ybURhdGEuZ2V0KCdQcm9qZWN0IFdlYnNpdGUgVVJMJyksIlByb2plY3QgT3JpZ2luIExhbmd1YWdlIjpmb3JtRGF0YS5nZXQoJ1Byb2plY3QgT3JpZ2luIExhbmd1YWdlJyksIlByb2plY3QgTGFuZ3VhZ2VzIjpmb3JtRGF0YS5nZXQoJ1Byb2plY3QgTGFuZ3VhZ2VzJyksImVtYWlsIjpmb3JtRGF0YS5nZXQoJ2VtYWlsJyksfTtpZihmb3JtLmNoZWNrVmFsaWRpdHkoKSl7Zm9ybS5zdWJtaXQoKTt3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKGRhdGEsJyonKTtjb25zb2xlLmxvZygiRm9ybSBpcyB2YWxpZCwgZGF0YUxheWVyIHB1c2hlZCwgYW5kIGZvcm0gd291bGQgYmUgc3VibWl0dGVkIGhlcmUuIik7fWVsc2V7fX0KZWxzZXskKCcjZG9tYWluLXdhcm5pbmcnKS5yZW1vdmUoKTt2YXIgaW52YWxpZE1lc3NhZ2U9JCgnPHNwYW4gaWQ9ImRvbWFpbi13YXJuaW5nIiBjbGFzcz0iZm9udC1zbWFsbCBlcnJvciI+IFBsZWFzZSB1c2UgdmFsaWQgZG9tYWluPC9zcGFuPicpOyQoJyNleHByZXNzLWRvbWFpbi1sYWJlbCcpLmFwcGVuZChpbnZhbGlkTWVzc2FnZSk7fX0pOyQoJyNwcmljaW5nLXRvZ2dsZScpLmNsaWNrKGZ1bmN0aW9uKCl7JCgnLmV4cHJlc3MtdG9nZ2xlLCAuY29uY2llcmdlLXRvZ2dsZSwgLmV4cHJlc3MtY29sLCAuY29uY2llcmdlLWNvbCcpLnRvZ2dsZSgpO30pOyQoJyNleHByZXNzLXByaWNpbmctcmV2ZWFsJykuY2xpY2soZnVuY3Rpb24oKXskKCcuZXhwcmVzcy1wcmljaW5nLWhpZGUnKS50b2dnbGVDbGFzcygnZXhwcmVzcy1wcmljaW5nLXNob3cnKTskKCcjaGlkZS1hbGwtcHJpY2luZycpLnRvZ2dsZSgpOyQoJyNzaG93LWFsbC1wcmljaW5nJykudG9nZ2xlKCk7fSk7JCgnI2V4cHJlc3MtZmFxLXJldmVhbCcpLmNsaWNrKGZ1bmN0aW9uKCl7JCgnLmV4cHJlc3MtZmFxLWhpZGUnKS50b2dnbGUoKTskKCcjaGlkZS1hbGwtZmFxJykudG9nZ2xlKCk7JCgnI3Nob3ctYWxsLWZhcScpLnRvZ2dsZSgpO30pOyQoJ2lucHV0W25hbWU9IlByb2plY3QgV2Vic2l0ZSBVUkwiXScpLm9uKCdpbnB1dCcsZnVuY3Rpb24oKXt2YXIgY3VycmVudFZhbHVlPSQodGhpcykudmFsKCk7d2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7dHlwZTonZXhwcmVzc1VSTCcsdmFsdWU6Y3VycmVudFZhbHVlfSwnKicpO30pO3ZhciBtcEV4cHJlc3NGb3JtPSQoJyNleHByZXNzLWZvcm0tZnJhbWUnKTtmdW5jdGlvbiBvYnNlcnZlRWxlbWVudCgpe2lmKG1wRXhwcmVzc0Zvcm0ubGVuZ3RoKXtjb25zdCBvYnNlcnZlcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpPT57ZW50cmllcy5mb3JFYWNoKGVudHJ5PT57aWYoZW50cnkuaXNJbnRlcnNlY3Rpbmcpe29uU2NyZWVuKCk7fWVsc2V7b2ZmU2NyZWVuKCk7fX0pO30pO2NvbnN0IGVsZW1lbnQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Zvcm0tc2VjdGlvbicpO29ic2VydmVyLm9ic2VydmUoZWxlbWVudCk7fX0Kb2JzZXJ2ZUVsZW1lbnQoKTtmdW5jdGlvbiBvblNjcmVlbigpe2NvbnNvbGUubG9nKCdFbGVtZW50IGlzIG9uIHNjcmVlbicpO21wRXhwcmVzc0Zvcm0uYXBwZW5kVG8oJyNib3R0b20tZm9ybS13cmFwcGVyJyk7c2V0VGltZW91dChmdW5jdGlvbigpe3NldEV4cHJlc3NVUkwoKTt9LDEwMDApO30KZnVuY3Rpb24gb2ZmU2NyZWVuKCl7Y29uc29sZS5sb2coJ0VsZW1lbnQgaXMgb2ZmIHNjcmVlbicpO21wRXhwcmVzc0Zvcm0uYXBwZW5kVG8oJyN0b3AtZm9ybS13cmFwcGVyJyk7c2V0VGltZW91dChmdW5jdGlvbigpe3NldEV4cHJlc3NVUkwoKTt9LDEwMDApO30KdmFyIGN1cnJlbnRUZXN0aW1vbmlhbD0wO3ZhciBudW1iZXJPZlRlc3RpbW9uaWFscz0kKCcuZXhwcmVzcy10ZXN0aW1vbmlhbCcpLmxlbmd0aDt2YXIgYW5pbWF0aW9uU3BlZWQ9NTAwO3ZhciBkaXNwbGF5RHVyYXRpb249NTAwMDt2YXIgYW5pbWF0aW9uVGltZW91dDtmdW5jdGlvbiBzaG93VGVzdGltb25pYWwoaW5kZXgsaW1tZWRpYXRlPWZhbHNlKXtjbGVhclRpbWVvdXQoYW5pbWF0aW9uVGltZW91dCk7aWYoaW1tZWRpYXRlKXskKCcuZXhwcmVzcy10ZXN0aW1vbmlhbCcpLnN0b3AodHJ1ZSx0cnVlKTt9CiQoJy5leHByZXNzLXRlc3RpbW9uaWFsJykuaGlkZSgpLmNzcygnbGVmdCcsJzEwMCUnKTskKCcuZXhwcmVzcy10ZXN0aW1vbmlhbCcpLmVxKGluZGV4KS5zaG93KCkuYW5pbWF0ZSh7bGVmdDonMCd9LGFuaW1hdGlvblNwZWVkLGZ1bmN0aW9uKCl7YW5pbWF0aW9uVGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7JCgnLmV4cHJlc3MtdGVzdGltb25pYWwnKS5lcShpbmRleCkuYW5pbWF0ZSh7bGVmdDonLTEwMCUnfSxhbmltYXRpb25TcGVlZCxmdW5jdGlvbigpeyQodGhpcykuaGlkZSgpO2N1cnJlbnRUZXN0aW1vbmlhbD0oY3VycmVudFRlc3RpbW9uaWFsKzEpJW51bWJlck9mVGVzdGltb25pYWxzO3Nob3dUZXN0aW1vbmlhbChjdXJyZW50VGVzdGltb25pYWwpO30pO30sZGlzcGxheUR1cmF0aW9uKTt9KTskKCcudGVzdGltb25pYWwtY2lyY2xlJykucmVtb3ZlQ2xhc3MoJ3Rlc3RpbW9uaWFsLWFjdGl2ZScpOyQoJy50ZXN0aW1vbmlhbC1jaXJjbGUnKS5lcShpbmRleCkuYWRkQ2xhc3MoJ3Rlc3RpbW9uaWFsLWFjdGl2ZScpO30Kc2hvd1Rlc3RpbW9uaWFsKGN1cnJlbnRUZXN0aW1vbmlhbCk7JCgnLnRlc3RpbW9uaWFsLWNpcmNsZScpLmNsaWNrKGZ1bmN0aW9uKCl7dmFyIGluZGV4PSQodGhpcykuaW5kZXgoKTtjdXJyZW50VGVzdGltb25pYWw9aW5kZXg7c2hvd1Rlc3RpbW9uaWFsKGluZGV4LHRydWUpO30pO2Z1bmN0aW9uIGFuaW1hdGVFeHByZXNzUGlsbHMoaW5kZXgpe3ZhciAkcGlsbHM9JCgnLmV4cHJlc3MtcGlsbCcpO2lmKGluZGV4Pj0kcGlsbHMubGVuZ3RoKXtpbmRleD0wO30KdmFyICRjdXJyZW50UGlsbD0kcGlsbHMuZXEoaW5kZXgpOyRjdXJyZW50UGlsbC5mYWRlSW4oMTAwMCkuZGVsYXkoMjAwMCkuZmFkZU91dCgxMDAwLGZ1bmN0aW9uKCl7YW5pbWF0ZUV4cHJlc3NQaWxscyhpbmRleCsxKTt9KTt9CmFuaW1hdGVFeHByZXNzUGlsbHMoMCk7Y29uc3QgJHN0ZXBzPSQoJy5hZGFwdGl2ZS1jYXJvdXNlbC1zdGVwJyk7bGV0IGN1cnJlbnRJbmRleD0kc3RlcHMuaW5kZXgoJCgnLmFjdGl2ZS1zdGVwJykpO2Z1bmN0aW9uIHVwZGF0ZU5hdkJ1dHRvbnMoKXskKCcjYWRhcHRpdmUtcHJldi1zdGVwJykudG9nZ2xlKGN1cnJlbnRJbmRleD4wKTskKCcjYWRhcHRpdmUtbmV4dC1zdGVwJykudG9nZ2xlKGN1cnJlbnRJbmRleDwkc3RlcHMubGVuZ3RoLTEpO30KZnVuY3Rpb24gc2hvd0FkYXB0aXZlU3RlcChuZXdJbmRleCxkaXJlY3Rpb24pe2lmKG5ld0luZGV4PT09Y3VycmVudEluZGV4fHxuZXdJbmRleDwwfHxuZXdJbmRleD49JHN0ZXBzLmxlbmd0aClyZXR1cm47Y29uc3QgJGN1cnJlbnQ9JHN0ZXBzLmVxKGN1cnJlbnRJbmRleCk7Y29uc3QgJG5leHQ9JHN0ZXBzLmVxKG5ld0luZGV4KTtjb25zdCBvdXRMZWZ0PWRpcmVjdGlvbj09PSduZXh0Jz8nLTEwMCUnOicxMDAlJztjb25zdCBpblN0YXJ0PWRpcmVjdGlvbj09PSduZXh0Jz8nMTAwJSc6Jy0xMDAlJzskbmV4dC5jc3Moe2xlZnQ6aW5TdGFydCxvcGFjaXR5OjEsekluZGV4OjN9KS5hZGRDbGFzcygnYWN0aXZlLXN0ZXAnKTskY3VycmVudC5jc3Moe3pJbmRleDoyfSkuYW5pbWF0ZSh7bGVmdDpvdXRMZWZ0fSw1MDAsZnVuY3Rpb24oKXskY3VycmVudC5yZW1vdmVDbGFzcygnYWN0aXZlLXN0ZXAnKS5jc3Moe29wYWNpdHk6MCx6SW5kZXg6MH0pO30pOyRuZXh0LmFuaW1hdGUoe2xlZnQ6JzAlJ30sNTAwLGZ1bmN0aW9uKCl7Y3VycmVudEluZGV4PW5ld0luZGV4O3VwZGF0ZU5hdkJ1dHRvbnMoKTt9KTt9CmxldCBzbGlkZUludGVydmFsPXNldEludGVydmFsKGZ1bmN0aW9uKCl7Y29uc3QgZWw9JCgnI2FkYXB0aXZlLXN0ZXAtMScpO2VsLmFkZENsYXNzKCdhdHRlbnRpb24tc2xpZGUnKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZWwucmVtb3ZlQ2xhc3MoJ2F0dGVudGlvbi1zbGlkZScpO30sMTAwMCk7fSwzMDAwKTskKCcjYWRhcHRpdmUtbmV4dC1zdGVwJykuYWRkQ2xhc3MoJ3B1bHNlLWFuaW1hdGlvbicpOyQoJyNhZGFwdGl2ZS1uZXh0LXN0ZXAnKS5vbignY2xpY2snLGZ1bmN0aW9uKCl7JCh0aGlzKS5yZW1vdmVDbGFzcygncHVsc2UtYW5pbWF0aW9uJyk7Y2xlYXJJbnRlcnZhbChzbGlkZUludGVydmFsKTtzaG93QWRhcHRpdmVTdGVwKGN1cnJlbnRJbmRleCsxLCduZXh0Jyk7fSk7JCgnI2FkYXB0aXZlLXByZXYtc3RlcCcpLm9uKCdjbGljaycsZnVuY3Rpb24oKXtzaG93QWRhcHRpdmVTdGVwKGN1cnJlbnRJbmRleC0xLCdwcmV2Jyk7fSk7dXBkYXRlTmF2QnV0dG9ucygpOyQoJy5mYXEtaXRlbScpLmNsaWNrKGZ1bmN0aW9uKCl7dmFyICRmYXFBbnN3ZXI9JCh0aGlzKS5uZXh0KCcuZmFxLWFuc3dlcicpO3ZhciAkYXJyb3c9JCh0aGlzKS5maW5kKCcuYXJyb3ctdXAnKTskZmFxQW5zd2VyLnNsaWRlVG9nZ2xlKCdmYXN0JyxmdW5jdGlvbigpeyRhcnJvdy50b2dnbGVDbGFzcygncm90YXRlLWFycm93Jyk7fSk7fSk7JCgnI2V4cHJlc3MtcHJpY2luZy10b2dnbGUnKS5jaGFuZ2UoZnVuY3Rpb24oKXskKCcjc2VsZWN0LWFubnVhbCwgI3NlbGVjdC1tb250aGx5JykudG9nZ2xlQ2xhc3MoJ2ZvbnQtc21hbGwnKTskKCcjc2VsZWN0LWFubnVhbCwgI3NlbGVjdC1tb250aGx5JykudG9nZ2xlQ2xhc3MoJ2ZvbnQtYmxhY2snKTskKCcuYW5udWFsLXByaWNlLCAubW9udGhseS1wcmljZScpLnRvZ2dsZSgpO30pO2NvbnN0ICRjb250YWluZXI9JCgiI3doYXRzLW5ldy1uYXYtY29udGFpbmVyIik7JCgnLndoYXRzLW5ldy1wcmltYXJ5LW5hdicpLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7dmFyIHN1Yk5hdj0kKHRoaXMpLm5leHQoIi53aGF0cy1uZXctc3VibmF2Iik7dmFyIGFycm93PSQodGhpcykuZmluZCgiLndoYXRzLW5ldy1hcnJvdyIpO2UucHJldmVudERlZmF1bHQoKTskKCIud2hhdHMtbmV3LXN1Ym5hdiIpLm5vdChzdWJOYXYpLnNsaWRlVXAoKTtzdWJOYXYuc2xpZGVUb2dnbGUoKTskKCIud2hhdHMtbmV3LWFycm93Iikubm90KGFycm93KS5yZW1vdmVDbGFzcygiZXhwYW5kZWQiKTthcnJvdy50b2dnbGVDbGFzcygiZXhwYW5kZWQiKTt9KTskY29udGFpbmVyLmZpbmQoImEiKS5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtjb25zdCB0YXJnZXRJZD0kKHRoaXMpLmF0dHIoImhyZWYiKTtpZih0YXJnZXRJZCYmJCh0YXJnZXRJZCkubGVuZ3RoKXskKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7c2Nyb2xsVG9wOiQodGFyZ2V0SWQpLm9mZnNldCgpLnRvcC0xNTAsfSw1MDApO31lbHNle2NvbnNvbGUuZXJyb3IoIlNjcm9sbCB0YXJnZXQgbm90IGZvdW5kIGZvcjoiLHRhcmdldElkKTt9fSk7Y29uc3QgJGZvb3Rlcj0kKCJmb290ZXIiKTtjb25zdCBidWZmZXI9NTtpZigkY29udGFpbmVyLmxlbmd0aCYmJGZvb3Rlci5sZW5ndGgpe2NvbnN0IGNvbnRhaW5lckluaXRpYWxPZmZzZXQ9JGNvbnRhaW5lci5vZmZzZXQoKS50b3A7JCh3aW5kb3cpLm9uKCJzY3JvbGwiLGZ1bmN0aW9uKCl7Y29uc3Qgc2Nyb2xsVG9wPSQod2luZG93KS5zY3JvbGxUb3AoKTtjb25zdCBmb290ZXJPZmZzZXQ9JGZvb3Rlci5vZmZzZXQoKS50b3A7Y29uc3QgbmF2SGVpZ2h0PSRjb250YWluZXIub3V0ZXJIZWlnaHQoKTtpZihzY3JvbGxUb3A+PWNvbnRhaW5lckluaXRpYWxPZmZzZXQtMjAwK2J1ZmZlcil7JGNvbnRhaW5lci5jc3Moe3Bvc2l0aW9uOiJmaXhlZCIsdG9wOiI3NXB4IixtYXhXaWR0aDoiMjAuMiUifSk7fWVsc2V7JGNvbnRhaW5lci5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiJhdXRvIixtYXhXaWR0aDoidW5zZXQifSk7fQppZihzY3JvbGxUb3ArbmF2SGVpZ2h0KzIwMCtidWZmZXI+PWZvb3Rlck9mZnNldCl7JGNvbnRhaW5lci5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiJhdXRvIix9KTt9fSk7fQppZighd2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmNsdWRlcygnYXJ0aWNsZT1mdWxsJykmJiQoJy5zdGFydC1nYXRlJykubGVuZ3RoPjApe3ZhciBmb3VuZEdhdGVTdGFydD1mYWxzZTskKCdwLCBsaSwgaDIsIGgzJykuZWFjaChmdW5jdGlvbigpe2NvbnNvbGUubG9nKCQodGhpcykpO2lmKCQodGhpcykuaGFzQ2xhc3MoJ3N0YXJ0LWdhdGUnKSl7Zm91bmRHYXRlU3RhcnQ9dHJ1ZTt2YXIgZ2F0ZUNvbnRlbnQ9JCgnPGRpdiBjbGFzcz0iZ2F0ZS1jb250ZW50Ij48aWZyYW1lIHNyYz0iaHR0cHM6Ly9jb250ZW50Lm1vdGlvbnBvaW50LmNvbS9sLzQ4NTc4MS8yMDI0LTAyLTA5LzI5eTZkdjIiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjUwMCIgdHlwZT0idGV4dC9odG1sIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3dUcmFuc3BhcmVuY3k9InRydWUiIHN0eWxlPSJib3JkZXI6IDAiPjwvaWZyYW1lPjwvZGl2PicpOyQodGhpcykuYWZ0ZXIoZ2F0ZUNvbnRlbnQpO31lbHNlIGlmKGZvdW5kR2F0ZVN0YXJ0KXskKHRoaXMpLnJlbW92ZSgpO319KTt9CiQoIiNkZW1vLWxpbmsiKS5jbGljayhmdW5jdGlvbigpeyQoIiN2aWRlby1kZW1vLXJlcXVlc3Qtd3JhcHBlciIpLnNsaWRlVG9nZ2xlKCk7fSk7dmFyIGVtYWlsSW5wdXQ9JCgnW3R5cGU9ZW1haWxdOm5vdCgubXAtZXhwcmVzcy1lbWFpbCknKTt2YXIgZW1haWxMYWJlbD0kKCcuZW1haWwgbGFiZWwnKTt2YXIgZW1haWxXcmFwcGVyPSQoJy5lbWFpbCcpO2Z1bmN0aW9uIGNoZWNrRW1haWwoZW1haWxWYWx1ZSl7aWYoL2dtYWlsfHlhaG9vfGFvbFwuY29tfGJrXC5ydXxvdXRsb29rfGljbG91ZHxjb21jYXN0L2kudGVzdChlbWFpbFZhbHVlKSl7ZW1haWxJbnB1dC52YWwoJycpO2VtYWlsSW5wdXQuYWZ0ZXIoJzxwIGNsYXNzPSJlcnJvciBmb250LXNtYWxsIiBzdHlsZT0ibWFyZ2luOi0yMHB4IDAgMCAwICFpbXBvcnRhbnQ7Ij5QbGVhc2UgdXNlIHdvcmsgZW1haWwgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPjwvcD4nKTtlbWFpbFdyYXBwZXIuYWRkQ2xhc3MoJ2Vycm9yJyk7ZW1haWxJbnB1dC5ibHVyKCk7fQplbHNle2VtYWlsTGFiZWwuaHRtbCgnV29yayBlbWFpbCA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+Jyk7ZW1haWxXcmFwcGVyLnJlbW92ZUNsYXNzKCdlcnJvcicpO319CmVtYWlsSW5wdXQua2V5dXAoZnVuY3Rpb24oKXt2YXIgY3VycmVudEVtYWlsPSQodGhpcykudmFsKCk7Y2hlY2tFbWFpbChjdXJyZW50RW1haWwpO30pO2NoZWNrRW1haWwoZW1haWxJbnB1dC52YWwoKSk7aWYoaXNEZXNrdG9wKCkpeyQoJ3NlY3Rpb24gLmdyaWQtNDpub3QoLm5vLWFuaW1hdGUpLCBzZWN0aW9uIC5ncmlkLTM6bm90KC5uby1hbmltYXRlKSwgLmFuaW1hdGUsIC5hbmltYXRlLXRvcCwgLmFuaW1hdGUtcmlnaHQsIC5hbmltYXRlLWJvdHRvbSwgLmFuaW1hdGUtbGVmdCcpLmNzcyh7J29wYWNpdHknOjB9KTt9CiQoJyNoYW1idXJnZXItaWNvbi1leHByZXNzJykuY2xpY2soZnVuY3Rpb24oKXskKCcubXAtZXhwcmVzcy1tZW51JykudG9nZ2xlQ2xhc3MoJ21vYmlsZS1uYXYnKTt9KTskKCcjaGFtYnVyZ2VyLWljb24nKS5jbGljayhmdW5jdGlvbigpeyQoJyNuYXYtbGlua3MnKS50b2dnbGVDbGFzcygnbW9iaWxlLW5hdicpOyQoJy5tb2JpbGUtbmF2IC5uYXYtbGluaycpLm9mZigpOyQoJy5tb2JpbGUtbmF2IC5uYXYtbGluaycpLmNsaWNrKGZ1bmN0aW9uKCl7aWYoJCh0aGlzKS5oYXNDbGFzcygnZXhwYW5kJykpeyQodGhpcykucmVtb3ZlQ2xhc3MoJ2V4cGFuZCcpO30KZWxzZXskKCcuZXhwYW5kJykucmVtb3ZlQ2xhc3MoJ2V4cGFuZCcpOyQodGhpcykuYWRkQ2xhc3MoJ2V4cGFuZCcpO30KaWYoJCh0aGlzKS5maW5kKCcuYXJyb3cnKS5oYXNDbGFzcygnZG93bicpKXskKHRoaXMpLmZpbmQoJy5hcnJvdycpLnJlbW92ZUNsYXNzKCdkb3duJyk7JCh0aGlzKS5maW5kKCcuYXJyb3cnKS5hZGRDbGFzcygndXAnKTt9ZWxzZSBpZigkKHRoaXMpLmZpbmQoJy5hcnJvdycpLmhhc0NsYXNzKCd1cCcpKXskKHRoaXMpLmZpbmQoJy5hcnJvdycpLnJlbW92ZUNsYXNzKCd1cCcpOyQodGhpcykuZmluZCgnLmFycm93JykuYWRkQ2xhc3MoJ2Rvd24nKTt9fSk7fSk7JCgnI2ljb24tc2VhcmNoJykuY2xpY2soZnVuY3Rpb24oKXskKCcubW9iaWxlLW5hdicpLnJlbW92ZUNsYXNzKCdtb2JpbGUtbmF2Jyk7aWYoJCgnI21wLW9zcycpLmlzKCI6dmlzaWJsZSIpKXskKCcjbXAtb3NzJykuaGlkZSgpO31lbHNleyQoJyNtcC1vc3MnKS5zaG93KCk7fX0pO3ZhciBjdXJyZW50U3RlcD0xO3ZhciB0b3RhbFN0ZXBzPSQoJy5wcmljaW5nLXN0ZXAnKS5sZW5ndGg7ZnVuY3Rpb24gc2hvd1N0ZXAoc3RlcCl7JCgnLnByaWNpbmctc3RlcCcpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTskKCcjc3RlcCcrc3RlcCkuYWRkQ2xhc3MoJ2FjdGl2ZScpO2lmKHN0ZXA9PT0xKXskKCcjcHJldi1idG4nKS5wcm9wKCdkaXNhYmxlZCcsdHJ1ZSk7JCgnI3NraXAtYnRuJykuaGlkZSgpOyQoJyNwcmV2LWJ0bicpLmhpZGUoKTt9ZWxzZXskKCcjcHJldi1idG4nKS5zaG93KCk7JCgnI3ByZXYtYnRuJykucHJvcCgnZGlzYWJsZWQnLGZhbHNlKTtpZigkKCcjc3RlcCcrc3RlcCkuaGFzQ2xhc3MoJ29wdGlvbmFsJykpeyQoJyNza2lwLWJ0bicpLnNob3coKTt9ZWxzZXskKCcjc2tpcC1idG4nKS5oaWRlKCk7fX0KaWYoc3RlcD09PXRvdGFsU3RlcHMpeyQoJyNuZXh0LWJ0bicpLmhpZGUoKTskKCcjc3VibWl0LWJ0bicpLnNob3coKTt9ZWxzZXskKCcjbmV4dC1idG4nKS5zaG93KCk7JCgnI3N1Ym1pdC1idG4nKS5oaWRlKCk7fQppZigkKCcjc3RlcCcrc3RlcCkuaGFzQ2xhc3MoJ29wdGlvbmFsJykpeyQoJyNtdWx0aS1zdGVwLWZvcm0nKS5hZGRDbGFzcygnc2hvdy1vcHRpb25hbCcpO31lbHNleyQoJyNtdWx0aS1zdGVwLWZvcm0nKS5yZW1vdmVDbGFzcygnc2hvdy1vcHRpb25hbCcpO30KaWYoc3RlcD09PTIpe3ZhciBsYW5ndWFnZUlucHV0PSQoJ2lucHV0W25hbWU9Imxhbmd1YWdlIl06Y2hlY2tlZCcpO2lmKGxhbmd1YWdlSW5wdXQudmFsKCk9PT0nb3RoZXInKXskKCcjc3RlcDIgLm9wdGlvbmFsJykuc2hvdygpO31lbHNleyQoJyNzdGVwMiAub3B0aW9uYWwnKS5oaWRlKCk7fX1lbHNleyQoJy5vcHRpb25hbCcpLmhpZGUoKTt9fQokKCcjbmV4dC1idG4nKS5jbGljayhmdW5jdGlvbigpe3ZhciBjdXJyZW50SW5wdXQ9JCgnI3N0ZXAnK2N1cnJlbnRTdGVwKycgaW5wdXQsICNzdGVwJytjdXJyZW50U3RlcCsnIHNlbGVjdCcpO2lmKGN1cnJlbnRJbnB1dC5maWx0ZXIoJ1tyZXF1aXJlZF0nKS5sZW5ndGgmJmN1cnJlbnRJbnB1dC5maWx0ZXIoJ1tyZXF1aXJlZF0nKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZS50cmltKCk9PT0nJzt9KS5sZW5ndGgpeyQoJyNzdGVwJytjdXJyZW50U3RlcCkucHJlcGVuZCgnPHAgY2xhc3M9ImVycm9yLW1lc3NhZ2UiPlBsZWFzZSBmaWxsIGluIHRoZSByZXF1aXJlZCBmaWVsZChzKS48L3A+Jyk7cmV0dXJuO30KJCgnLmVycm9yLW1lc3NhZ2UnKS5yZW1vdmUoKTtpZihjdXJyZW50U3RlcDx0b3RhbFN0ZXBzKXtjdXJyZW50U3RlcCsrO31lbHNle2FsZXJ0KCdGb3JtIHN1Ym1pdHRlZCEnKTt9CnNob3dTdGVwKGN1cnJlbnRTdGVwKTtjYXB0dXJlUHJpY2luZ0Zvcm0oKTt9KTskKCcjcHJldi1idG4nKS5jbGljayhmdW5jdGlvbigpe2lmKGN1cnJlbnRTdGVwPjEpe2N1cnJlbnRTdGVwLS07c2hvd1N0ZXAoY3VycmVudFN0ZXApO319KTskKCcjc2tpcC1idG4nKS5jbGljayhmdW5jdGlvbigpe2lmKGN1cnJlbnRTdGVwPHRvdGFsU3RlcHMpe2N1cnJlbnRTdGVwKys7c2hvd1N0ZXAoY3VycmVudFN0ZXApO31lbHNle2FsZXJ0KCdGb3JtIHN1Ym1pdHRlZCEnKTt9fSk7JCgnaW5wdXRbbmFtZT0ibGFuZ3VhZ2UiXScpLmNoYW5nZShmdW5jdGlvbigpe2lmKCQodGhpcykudmFsKCk9PT0nb3RoZXInKXskKCcjc3RlcDIgLm9wdGlvbmFsJykuc2hvdygpO31lbHNleyQoJyNzdGVwMiAub3B0aW9uYWwnKS5oaWRlKCk7fX0pO3Nob3dTdGVwKGN1cnJlbnRTdGVwKTskKCdpbnB1dFtuYW1lPSJsYW5ndWFnZSJdJykub24oJ2NoYW5nZScsZnVuY3Rpb24oKXtpZigkKHRoaXMpLnZhbCgpPT09J2VuZ2xpc2gnKXskKCdpbnB1dFtuYW1lPSJQcm9qZWN0IE9yaWdpbiBMYW5ndWFnZSJdJykudmFsKCdFbmdsaXNoJyk7fWVsc2UgaWYoJCh0aGlzKS52YWwoKT09PSdvdGhlcicpe3VwZGF0ZU9yaWdpbkxhbmdJbnB1dCgpO319KTskKCdpbnB1dFtuYW1lPSJvdGhlckxhbmd1YWdlIl0nKS5vbignaW5wdXQnLGZ1bmN0aW9uKCl7dXBkYXRlT3JpZ2luTGFuZ0lucHV0KCk7fSk7ZnVuY3Rpb24gdXBkYXRlT3JpZ2luTGFuZ0lucHV0KCl7dmFyIHNlbGVjdGVkTGFuZ3VhZ2U9JCgnaW5wdXRbbmFtZT0ibGFuZ3VhZ2UiXTpjaGVja2VkJykudmFsKCk7aWYoc2VsZWN0ZWRMYW5ndWFnZT09PSdvdGhlcicpe3ZhciBvdGhlckxhbmd1YWdlPSQoJ2lucHV0W25hbWU9Im90aGVyTGFuZ3VhZ2UiXScpLnZhbCgpOyQoJ2lucHV0W25hbWU9IlByb2plY3QgT3JpZ2luIExhbmd1YWdlIl0nKS52YWwob3RoZXJMYW5ndWFnZSk7fWVsc2V7JCgnaW5wdXRbbmFtZT0iUHJvamVjdCBPcmlnaW4gTGFuZ3VhZ2UiXScpLnZhbCgnRW5nbGlzaCcpO319CiQoJ2lucHV0W25hbWU9ImR5bmFtaWMiXScpLm9uKCdjaGFuZ2UnLGZ1bmN0aW9uKCl7aWYoJCh0aGlzKS52YWwoKT09PSd5ZXMnKXskKCdpbnB1dFtuYW1lPSJEeWFuYW1pYyBDb250ZW50Il0nKS52YWwoJ1llcycpO31lbHNlIGlmKCQodGhpcykudmFsKCk9PT0nbm8nKXskKCdpbnB1dFtuYW1lPSJEeWFuYW1pYyBDb250ZW50Il0nKS52YWwoJ05vJyk7fX0pOyQoJ2lucHV0W25hbWU9ImVzdGltYXRlIl0nKS5vbignY2hhbmdlJyxmdW5jdGlvbigpeyQoJ2lucHV0W25hbWU9IlByb2plY3QgV29yZCBDb3VudCJdJykudmFsKCQodGhpcykudmFsKCkpO30pOyQoJyNnZXQtcGVyc29uYWwtcXVvdGUnKS5jbGljayhmdW5jdGlvbigpeyQoJ2h0bWwsIGJvZHknKS5hbmltYXRlKHtzY3JvbGxUb3A6JCgnI3ByaWNpbmctd2l6YXJkLXNlY3Rpb24nKS5vZmZzZXQoKS50b3AtMzAwfSw3MDApO30pOyQoJy53YXRjaC13ZWJpbmFyJykuY2xpY2soZnVuY3Rpb24oKXskKCdodG1sLCBib2R5JykuYW5pbWF0ZSh7c2Nyb2xsVG9wOiQoJyN3ZWJpbmFyLXZpZGVvLXdyYXBwZXInKS5vZmZzZXQoKS50b3B9LDcwMCk7fSk7JCgnLnNjcm9sbC1jbGljaycpLmNsaWNrKGZ1bmN0aW9uKCl7c2Nyb2xsVG9SZXNvdXJjZSgkKHRoaXMpLmRhdGEoJ3Njcm9sbCcpKTskKCcubW9iaWxlLW5hdicpLnJlbW92ZUNsYXNzKCdtb2JpbGUtbmF2Jyk7fSk7ZnVuY3Rpb24gc2Nyb2xsVG9SZXNvdXJjZShzZWN0aW9uTmFtZSl7JCgnaHRtbCwgYm9keScpLmFuaW1hdGUoe3Njcm9sbFRvcDokKCcjJytzZWN0aW9uTmFtZSkub2Zmc2V0KCkudG9wfSw3MDApO30KZnVuY3Rpb24gZ2V0UXVlcnlQYXJhbShuYW1lKXtsZXQgdXJsUGFyYW1zPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7cmV0dXJuIHVybFBhcmFtcy5nZXQobmFtZSk7fQpsZXQgc2Nyb2xsVmFsdWU9Z2V0UXVlcnlQYXJhbSgnc2Nyb2xsJyk7aWYoc2Nyb2xsVmFsdWUhPT1udWxsKXtjb25zb2xlLmxvZygnU2Nyb2xsIHBhcmFtZXRlciB2YWx1ZTonLHNjcm9sbFZhbHVlKTtzY3JvbGxUb1Jlc291cmNlKHNjcm9sbFZhbHVlKTt9ZWxzZXtjb25zb2xlLmxvZygnU2Nyb2xsIHBhcmFtZXRlciBub3QgZm91bmQuJyk7fQokKCIuc2VhcmNoSW5wdXQiKS5vbigiaW5wdXQiLGZ1bmN0aW9uKCl7dmFyIHNlYXJjaFZhbHVlPSQodGhpcykudmFsKCkudG9Mb3dlckNhc2UoKTskKHRoaXMpLnNpYmxpbmdzKCIuc2VhcmNoU2VsZWN0IikuZmluZCgib3B0aW9uIikuZmlsdGVyKGZ1bmN0aW9uKCl7JCh0aGlzKS50b2dnbGUoJCh0aGlzKS50ZXh0KCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFZhbHVlKT4tMSk7fSk7fSk7JCgiLnNlYXJjaFNlbGVjdCIpLmNoYW5nZShmdW5jdGlvbigpe3ZhciBzZWxlY3RlZExhbmd1YWdlcz0kKHRoaXMpLnZhbCgpO3ZhciB0YWdzPSIiO2Zvcih2YXIgaT0wO2k8c2VsZWN0ZWRMYW5ndWFnZXMubGVuZ3RoO2krKyl7dGFncys9IjxzcGFuIGNsYXNzPSd0YWcnPiIrCnNlbGVjdGVkTGFuZ3VhZ2VzW2ldKyI8c3BhbiBjbGFzcz0ndGFnLWNsb3NlJz4mdGltZXM7PC9zcGFuPjwvc3Bhbj4iO30KJCh0aGlzKS5zaWJsaW5ncygiLnRhZ0NvbnRhaW5lciIpLmFwcGVuZCh0YWdzKTt1cGRhdGVIaWRkZW5JbnB1dCgkKHRoaXMpKTskKHRoaXMpLnNpYmxpbmdzKCIuc2VhcmNoSW5wdXQiKS52YWwoIiIpLmZvY3VzKCk7fSk7JCgiLnRhZ0NvbnRhaW5lciIpLm9uKCJjbGljayIsIi50YWctY2xvc2UiLGZ1bmN0aW9uKCl7JCh0aGlzKS5wYXJlbnQoKS5yZW1vdmUoKTt1cGRhdGVIaWRkZW5JbnB1dCgkKHRoaXMpLmNsb3Nlc3QoIi5zZWFyY2hTZWxlY3QiKSk7JCh0aGlzKS5jbG9zZXN0KCIuc2VhcmNoU2VsZWN0Iikuc2libGluZ3MoIi5zZWFyY2hJbnB1dCIpLmZvY3VzKCk7fSk7ZnVuY3Rpb24gdXBkYXRlSGlkZGVuSW5wdXQoc2VsZWN0RWxlbWVudCl7dmFyIHNlbGVjdGVkVGFncz1bXTtzZWxlY3RFbGVtZW50LnNpYmxpbmdzKCIudGFnQ29udGFpbmVyIikuZmluZCgiLnRhZyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgdGFnVmFsdWU9JCh0aGlzKS50ZXh0KCkudHJpbSgpLnJlcGxhY2UoIsOXIiwiIik7c2VsZWN0ZWRUYWdzLnB1c2godGFnVmFsdWUpO30pO3NlbGVjdEVsZW1lbnQuc2libGluZ3MoIi5oaWRkZW5JbnB1dCIpLnZhbChzZWxlY3RlZFRhZ3Muam9pbigiLCAiKSk7fQp2YXIgY3VycmVudENhcm91c2VsU3RlcDt2YXIgYW5pbWF0aW9uVGltZXI7dmFyIHRpbWVyX29uPTA7dmFyIGNhcm91c2VsU3RlcD0iMSI7dmFyIHRyYW5zaXRpb25UeXBlPSJzdGVwIjt2YXIgY2Fyb3VzZWxMZW5ndGg9JCgnLnNsaWRlci1jaXJjbGUnKS5sZW5ndGg7dmFyIHRyYW5zdGlvblRpbWU9MTUwMDA7Y29uc29sZS5sb2coY2Fyb3VzZWxMZW5ndGgpO2Z1bmN0aW9uIHRpbWVkQ291bnQoKXthbmltYXRpb25UaW1lcj1zZXRUaW1lb3V0KGFuaW1hdGVDYXJvdXNlbCx0cmFuc3Rpb25UaW1lKTt9CmZ1bmN0aW9uIGFuaW1hdGlvblRpbWVyU3RhcnQoKXtpZighdGltZXJfb24pe3RpbWVyX29uPTE7dGltZWRDb3VudCgpO319CmZ1bmN0aW9uIGFuaW1hdGlvblRpbWVyU3RvcCgpe2NsZWFyVGltZW91dChhbmltYXRpb25UaW1lcik7dGltZXJfb249MDt9CmZ1bmN0aW9uIGFuaW1hdGVDYXJvdXNlbCgpe2FuaW1hdGlvblRpbWVyU3RvcCgpO2lmKHRyYW5zaXRpb25UeXBlPT0nc3RlcCcpe2N1cnJlbnRDYXJvdXNlbFN0ZXA9JCgnLnNsaWRlci1jaXJjbGUuYmctc2Vjb25kYXJ5JykuYXR0cignZGF0YS1jYXJvdXNlbC1zdGVwJyk7Y29uc29sZS5sb2coY3VycmVudENhcm91c2VsU3RlcCk7aWYoY3VycmVudENhcm91c2VsU3RlcD09Y2Fyb3VzZWxMZW5ndGgpe2N1cnJlbnRDYXJvdXNlbFN0ZXA9JzEnO30KZWxzZXtjdXJyZW50Q2Fyb3VzZWxTdGVwPVN0cmluZyhOdW1iZXIoY3VycmVudENhcm91c2VsU3RlcCkrMSk7fX0KaWYodHJhbnNpdGlvblR5cGU9PSdqdW1wJyl7Y3VycmVudENhcm91c2VsU3RlcD1jYXJvdXNlbFN0ZXA7dHJhbnNpdGlvblR5cGU9J3N0ZXAnO30KJCgnLnNsaWRlci1jaXJjbGUnKS5hZGRDbGFzcygnYmctd2hpdGUnKTskKCcuc2xpZGVyLWNpcmNsZScpLnJlbW92ZUNsYXNzKCdiZy1zZWNvbmRhcnknKTskKCcjc2xpZGVyLWNpcmNsZS0nK2N1cnJlbnRDYXJvdXNlbFN0ZXApLnJlbW92ZUNsYXNzKCdiZy13aGl0ZScpOyQoJyNzbGlkZXItY2lyY2xlLScrY3VycmVudENhcm91c2VsU3RlcCkuYWRkQ2xhc3MoJ2JnLXNlY29uZGFyeScpOyQoJy5jYXJvdXNlbC1zdGVwJykuaGlkZSgpOyQoJyNjYXJvdXNlbC1zdGVwLScrY3VycmVudENhcm91c2VsU3RlcCkuZmluZCgnLmNhcm91c2VsLWdyYXBoaWMnKS5jc3MoeydsZWZ0JzonMjAwcHgnLCdvcGFjaXR5JzowfSk7JCgnI2Nhcm91c2VsLXN0ZXAtJytjdXJyZW50Q2Fyb3VzZWxTdGVwKS5maW5kKCcuY2Fyb3VzZWwtY29udGVudCcpLmNzcyh7J2xlZnQnOictMTAwcHgnLCdvcGFjaXR5JzowLCdwb3NpdGlvbic6J3JlbGF0aXZlJ30pOyQoJyNjYXJvdXNlbC1zdGVwLScrY3VycmVudENhcm91c2VsU3RlcCkuc2hvdygpOyQoJyNjYXJvdXNlbC1zdGVwLScrY3VycmVudENhcm91c2VsU3RlcCkuZmluZCgnLmNhcm91c2VsLWNvbnRlbnQnKS5hbmltYXRlKHsnbGVmdCc6JzBweCcsJ29wYWNpdHknOjF9LDMwMCk7JCgnI2Nhcm91c2VsLXN0ZXAtJytjdXJyZW50Q2Fyb3VzZWxTdGVwKS5maW5kKCcuY2Fyb3VzZWwtZ3JhcGhpYycpLmFuaW1hdGUoeydsZWZ0JzonMHB4Jywnb3BhY2l0eSc6MX0sNzAwLGZ1bmN0aW9uKCl7YW5pbWF0aW9uVGltZXJTdGFydCgpO30pO30KaWYoJCgnLnNsaWRlci1jaXJjbGUnKS5sZW5ndGg+MCl7YW5pbWF0aW9uVGltZXJTdGFydCgpO30KJCgnLnNsaWRlci1jaXJjbGUnKS5jbGljayhmdW5jdGlvbigpe2Nhcm91c2VsU3RlcD0kKHRoaXMpLmRhdGEoJ2Nhcm91c2VsLXN0ZXAnKTt0cmFuc2l0aW9uVHlwZT0nanVtcCc7YW5pbWF0ZUNhcm91c2VsKCk7fSk7ZGlzcGxheUZvcm1MaW5rLmNsaWNrKGZ1bmN0aW9uKCl7Zm9ybVNlY3Rpb24uY3NzKHsncG9zaXRpb24nOidmaXhlZCcsJ3dpZHRoJzonMTAwJScsJ2hlaWdodCc6JzEwMCUnLCd0b3AnOicxMDAlJywnei1pbmRleCc6Jzk5OSd9KTtmb3JtU2VjdGlvbi5maW5kKCcuZ3JpZC03JykuY3NzKHsnbWFyZ2luLXRvcCc6Jy01cmVtJ30pO2Zvcm1TZWN0aW9uLmZpbmQoJ2gyJykuaGlkZSgpO2Zvcm1TZWN0aW9uLmZpbmQoJ2g1JykuaGlkZSgpO2Nsb3NlRm9ybUxpbmsub2ZmKCk7Y2xvc2VGb3JtTGluay5zaG93KCk7Y2xvc2VGb3JtTGluay5jbGljayhmdW5jdGlvbigpe2Nsb3NlRm9ybUxpbmsuaGlkZSgpO2Zvcm1TZWN0aW9uLmF0dHIoJ3N0eWxlJywnJyk7Zm9ybVNlY3Rpb24uZmluZCgnLmdyaWQtNycpLmF0dHIoJ3N0eWxlJywnJyk7Zm9ybVNlY3Rpb24uZmluZCgnaDInKS5zaG93KCk7Zm9ybVNlY3Rpb24uZmluZCgnaDUnKS5zaG93KCk7fSk7Zm9ybVNlY3Rpb24uYW5pbWF0ZSh7J3RvcCc6JzAlJ30sMzAwKTt9KTtkaXNwbGF5RXhwcmVzc0Zvcm1MaW5rLmNsaWNrKGZ1bmN0aW9uKCl7Zm9ybVNlY3Rpb24uYWRkQ2xhc3MoJ2V4cHJlc3MtZm9ybS1zaG93Jyk7Zm9ybVNlY3Rpb24uZmluZCgnLmdyaWQtNycpLmNzcyh7J21hcmdpbi10b3AnOictNXJlbSd9KTtmb3JtU2VjdGlvbi5maW5kKCdoMicpLmNsb3Nlc3QoJy5mbGV4LWNvbCcpLmhpZGUoKTtmb3JtU2VjdGlvbi5maW5kKCdoNScpLmhpZGUoKTtjbG9zZUZvcm1MaW5rLm9mZigpO2Nsb3NlRm9ybUxpbmsuc2hvdygpO2Nsb3NlRm9ybUxpbmsuY2xpY2soZnVuY3Rpb24oKXtmb3JtU2VjdGlvbi5yZW1vdmVDbGFzcygnZXhwcmVzcy1mb3JtLXNob3cnKTtjbG9zZUZvcm1MaW5rLmhpZGUoKTtmb3JtU2VjdGlvbi5hdHRyKCdzdHlsZScsJycpO2Zvcm1TZWN0aW9uLmZpbmQoJy5ncmlkLTcnKS5hdHRyKCdzdHlsZScsJycpO2Zvcm1TZWN0aW9uLmZpbmQoJ2gyJykuY2xvc2VzdCgnLmZsZXgtY29sJykuc2hvdygpO2Zvcm1TZWN0aW9uLmZpbmQoJ2g1Jykuc2hvdygpO30pO30pOyQoJy51bmlmb3JtLWhlaWdodCcpLmVhY2goZnVuY3Rpb24oKXt2YXIgdGl0bGVIZWlnaHQ7aWYoJCh0aGlzKS5oZWlnaHQoKT51bmZpcm9tSGVpZ2h0KXt1bmZpcm9tSGVpZ2h0PSQodGhpcykuaGVpZ2h0KCk7fX0pOyQoJy51bmlmb3JtLWhlaWdodCcpLmNzcyh7J2hlaWdodCc6dW5maXJvbUhlaWdodCsncHgnfSk7dmFyIG5hdkl0ZW09JCgnI3BpbGxhci1uYXYgLm5hdi1pdGVtLmNsb25lJyk7dmFyIGN1cnJlbnROYXZQb3M9MDt2YXIgcGlsbGFyTmF2PSQoJyNwaWxsYXItbmF2Jyk7bmF2SXRlbS5kZXRhY2goKTtmdW5jdGlvbiBhbGlnbk5hdigpe2NvbnNvbGUubG9nKCdhbGlnbiBuYXYhISEnKTt2YXIgc2Nyb2xsVG9wUG9zPSQod2luZG93KS5zY3JvbGxUb3AoKTtpZigkKCcucGlsbGFyLWxlZnQnKS5sZW5ndGgpe3ZhciBwaWxsYXJDb250YWluZXJUb3A9JCgnLnBpbGxhci1sZWZ0Jykub2Zmc2V0KCkudG9wO30KdmFyIHBpbGxhck5hdkhlaWdodD1waWxsYXJOYXYuaW5uZXJIZWlnaHQoKTtpZigkKCcjcGlsbGFyLW5hdicpLmxlbmd0aCl7dmFyIHBpbGxhck5hdlRvcD1waWxsYXJOYXYub2Zmc2V0KCkudG9wO30KdmFyIHBpbGxhck5hdk1pZD1waWxsYXJOYXZUb3ArKHBpbGxhck5hdkhlaWdodC8yKTt2YXIgcGlsbGFyTmF2Qm90dG9tPShwaWxsYXJOYXZUb3ArcGlsbGFyTmF2SGVpZ2h0KS0xMDA7dmFyIHNjcm9sbFRvPXNjcm9sbFRvcFBvcy1waWxsYXJDb250YWluZXJUb3A7dmFyIHNjcm9sbE1heD0kKCcjY29tcGFyZS1hcnRpY2xlJykuaW5uZXJIZWlnaHQoKS1waWxsYXJOYXZIZWlnaHQtNzQ7Y29uc29sZS5sb2coJ3Njcm9sbCB0bzogJytzY3JvbGxUbyk7aWYoc2Nyb2xsVG88MCl7c2Nyb2xsVG89MDt9CmlmKHNjcm9sbFRvPnNjcm9sbE1heCl7c2Nyb2xsVG89c2Nyb2xsTWF4O30KaWYoc2Nyb2xsVG9wUG9zPnBpbGxhck5hdkJvdHRvbXx8c2Nyb2xsVG9wUG9zPHBpbGxhck5hdlRvcCl7cGlsbGFyTmF2LmFuaW1hdGUoe3RvcDpzY3JvbGxUbysncHgnfSw0MDApO30KY29uc29sZS5sb2coJ25hdmUgaGFzIGJlZW4gYWxpZ25lZCEnKTt9CmlmKCQoJy5waWxsYXItbGVmdCcpLmxlbmd0aCl7YWxpZ25OYXYoKTt9CiQoJyNjb21wYXJlLWFydGljbGUgaDInKS5lYWNoKGZ1bmN0aW9uKGluZGV4KXskKHRoaXMpLmF0dHIoJ2RhdGEtaW5kZXgnLGluZGV4KTt2YXIgdGhlVGV4dD0kKHRoaXMpLnRleHQoKTt2YXIgbmV3SXRlbT1uYXZJdGVtLmNsb25lKCk7bmV3SXRlbS5yZW1vdmVDbGFzcygnY2xvbmUnKTtuZXdJdGVtLmZpbmQoJy5uYXYtdGV4dCcpLnRleHQodGhlVGV4dCk7bmV3SXRlbS5hdHRyKCdkYXRhLWluZGV4JyxTdHJpbmcoaW5kZXgpKTtpZihpbmRleD09PTApe25ld0l0ZW0uYWRkQ2xhc3MoJ2FjdGl2ZScpO30KJCgnI25hdi13cmFwJykuYXBwZW5kKG5ld0l0ZW0pOyQoJyNwaWxhci1uYXYtbW9iaWxlIHNlbGVjdCcpLmFwcGVuZCgnPG9wdGlvbiB2YWx1ZT0iJytTdHJpbmcoaW5kZXgpKyciPicrdGhlVGV4dCsnPC9vcHRpb24+Jyk7bmV3SXRlbS5zaG93KCk7fSk7JCgnLmV2ZW50LXNob3ctbW9yZScpLmNsaWNrKGZ1bmN0aW9uKCl7JCh0aGlzKS5maW5kKCcucG9pbnRlcicpLmhpZGUoKTskKHRoaXMpLmZpbmQoJy5ldmVudC1tb3JlLWNvbnRlbnQnKS5zaG93KCk7fSk7JCgnLmJpby1yZXZlYWwnKS5jbGljayhmdW5jdGlvbigpeyQodGhpcykuZmluZCgnLmJpby1saW5rJykuaGlkZSgpOyQodGhpcykuZmluZCgnLmJpby1jb250ZW50Jykuc2hvdygpO30pOyQoIiNwaWxsYXItbmF2IC5uYXYtaXRlbSIpLmNsaWNrKGZ1bmN0aW9uKCl7JChbZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGRvY3VtZW50LmJvZHldKS5hbmltYXRlKHtzY3JvbGxUb3A6JCgiI2NvbXBhcmUtYXJ0aWNsZSBoMiIpLmVxKCQodGhpcykuZGF0YSgnaW5kZXgnKSkub2Zmc2V0KCkudG9wLTE1MH0sNzAwKTt9KTskKCIjcGlsYXItbmF2LW1vYmlsZSBzZWxlY3QiKS5jaGFuZ2UoZnVuY3Rpb24oKXskKFtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsZG9jdW1lbnQuYm9keV0pLmFuaW1hdGUoe3Njcm9sbFRvcDokKCIjY29tcGFyZS1hcnRpY2xlIGgyIikuZXEoJCh0aGlzKS52YWwoKSkub2Zmc2V0KCkudG9wLTE1MH0sNzAwKTt9KTt2YXIgcmVzb3VyY2VzTmF2VG9wPTA7aWYoJCgnLnJlc291cmNlcy1uYXYnKS5sZW5ndGg+MCl7dmFyIHJlc291cmNlc05hdlRvcD0kKCcucmVzb3VyY2VzLW5hdicpLm9mZnNldCgpLnRvcDt9CmZ1bmN0aW9uIGNoZWNrUmVzb3VyY2VOYXYoKXtpZigkKCcucmVzb3VyY2VzLW5hdicpLmxlbmd0aD4wKXt2YXIgc2Nyb2xsUG9zaXRpb249JCh3aW5kb3cpLnNjcm9sbFRvcCgpO2lmKHNjcm9sbFBvc2l0aW9uPnJlc291cmNlc05hdlRvcCl7JCgnLnJlc291cmNlcy1uYXYnKS5hZGRDbGFzcygndW5kb2NrJyk7fWVsc2V7JCgnLnJlc291cmNlcy1uYXYnKS5yZW1vdmVDbGFzcygndW5kb2NrJyk7fX19CmNoZWNrUmVzb3VyY2VOYXYoKTskKHdpbmRvdykuc2Nyb2xsKGZ1bmN0aW9uKCl7aWYod2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoIi9yZXNvdXJjZXMvYy8iKSl7dXNlclNjcm9sbCgpO30KdmFyIHNjcm9sbD0kKHdpbmRvdykuc2Nyb2xsVG9wKCk7dmFyIGRvY3VtZW50SGVpZ2h0PSQoZG9jdW1lbnQpLmhlaWdodCgpO3ZhciBoYWxmSGVpZ2h0PWRvY3VtZW50SGVpZ2h0LzIuNTtpZihzY3JvbGw+PTIwKXskKCJuYXYiKS5hZGRDbGFzcygiYmctcHJpbWFyeS1ncmFkaWVudCIpLmFkZENsYXNzKCdmaXhlZCcpO31lbHNleyQoIm5hdiIpLnJlbW92ZUNsYXNzKCJiZy1wcmltYXJ5LWdyYWRpZW50IikucmVtb3ZlQ2xhc3MoJ2ZpeGVkJyk7fQppZihzY3JvbGw+aGFsZkhlaWdodCYmcG9wVGltZXJEb25lKXtwb3BNb2RhbCgnb2ZmZXItbW9kYWwnKTt9CmZpbmRDdXJyZW50U2VjdGlvbigpO2RvY2tUYWJsZUhlYWRlcigpO2RvY1ByaWNpbmdXaXphcmQoKTtjaGVja1Jlc291cmNlTmF2KCk7dmFyIHNjcm9sbFRvcFBvcz0kKHdpbmRvdykuc2Nyb2xsVG9wKCk7dmFyIHdpbmRvd01pZFBvaW50PSQod2luZG93KS5oZWlnaHQoKS8yO3ZhciBtYXRjaGVkSGVhZGVycz0wO2NsZWFyVGltZW91dCgkLmRhdGEodGhpcywnc2Nyb2xsVGltZXInKSk7JC5kYXRhKHRoaXMsJ3Njcm9sbFRpbWVyJyxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YWxpZ25OYXYoKTt9LDQwMCkpOyQoIiNjb21wYXJlLWFydGljbGUgaDIiKS5lYWNoKGZ1bmN0aW9uKCl7aWYoKCQodGhpcykub2Zmc2V0KCkudG9wLXNjcm9sbFRvcFBvcyk8d2luZG93TWlkUG9pbnQpe21hdGNoZWRIZWFkZXJzKys7fX0pO2lmKG1hdGNoZWRIZWFkZXJzPjApe21hdGNoZWRIZWFkZXJzPW1hdGNoZWRIZWFkZXJzLTE7fQppZihjdXJyZW50TmF2UG9zIT1tYXRjaGVkSGVhZGVycyl7Y3VycmVudE5hdlBvcz1tYXRjaGVkSGVhZGVyczskKCcjcGlsbGFyLW5hdiAubmF2LWl0ZW0uYWN0aXZlJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOyQoJyNwaWxsYXItbmF2IC5uYXYtaXRlbScpLmVxKGN1cnJlbnROYXZQb3MpLmFkZENsYXNzKCdhY3RpdmUnKTskKCIjcGlsYXItbmF2LW1vYmlsZSBzZWxlY3QiKS52YWwoY3VycmVudE5hdlBvcyk7fX0pO3ZhciBwb3BUaW1lckRvbmU9ZmFsc2U7ZnVuY3Rpb24gcmVhZHlQb3AoKXtwb3BUaW1lckRvbmU9dHJ1ZTt9CnNldFRpbWVvdXQocmVhZHlQb3AsMzAwMDApO2lmKGlzRXhwcmVzc1BhZ2Upe3ZhciBwb3BUaW1lckRvbmVFeHByZXNzPWZhbHNlO2Z1bmN0aW9uIHJlYWR5UG9wRXhwcmVzcygpe2NvbnNvbGUubG9nKCdwb3AgZXhwcmVzcyBtb2RhbCcpO3BvcEV4cHJlc3NNb2RhbCgnZmFsc2UnKTt9CnNldFRpbWVvdXQocmVhZHlQb3BFeHByZXNzLDIwMDApO30KJChkb2N1bWVudCkubW91c2VsZWF2ZShmdW5jdGlvbigpe2lmKHBvcFRpbWVyRG9uZSl7cG9wTW9kYWwoJ29mZmVyLW1vZGFsJyk7fX0pO3N0YXJ0VGltZT1uZXcgRGF0ZSgpLmdldFRpbWUoKTskKGRvY3VtZW50KS5tb3VzZWxlYXZlKGZ1bmN0aW9uKGV2ZW50KXtsZWZ0V2luZG93PXRydWU7Y2hlY2tDb25kaXRpb25zKCk7fSk7dmFyIGxhc3RYLGxhc3RZOyQoZG9jdW1lbnQpLm1vdXNlbW92ZShmdW5jdGlvbihldmVudCl7dmFyIGN1cnJlbnRYPWV2ZW50LnBhZ2VYO3ZhciBjdXJyZW50WT1ldmVudC5wYWdlWTtpZihsYXN0WCYmbGFzdFkmJmN1cnJlbnRYPmxhc3RYJiZjdXJyZW50WTxsYXN0WSl7bW91c2VNb3ZpbmdVcEFuZFJpZ2h0PXRydWU7Y2hlY2tDb25kaXRpb25zKCk7fQpsYXN0WD1jdXJyZW50WDtsYXN0WT1jdXJyZW50WTt9KTtmdW5jdGlvbiBjaGVja0NvbmRpdGlvbnMoKXt2YXIgY3VycmVudFRpbWU9bmV3IERhdGUoKS5nZXRUaW1lKCk7aWYoY3VycmVudFRpbWUtc3RhcnRUaW1lPjYwMDAwJiZtb3VzZU1vdmluZ1VwQW5kUmlnaHQmJmxlZnRXaW5kb3cpe3BvcE1vZGFsKCdleGl0LW1vZGFsJyk7fX0Kd2luZG93Lm9ucmVzaXplPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KGVuZFJlc2l6ZSk7ZW5kUmVzaXplPXNldFRpbWVvdXQocmVzaXplZHcsMTAwKTt9O3NlY3Rpb25zLmVhY2goZnVuY3Rpb24oKXtmaW5kQ3VycmVudFNlY3Rpb24oKTt9KTtpZihpc0Rlc2t0b3AoKSl7YW5pbWF0ZUxvZ29zKCk7fX07JCh3aW5kb3cpLm9uKCJsb2FkIixsb2FkSGFuZGxlcik7JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXtjb25zdCAkYmFubmVycz0kKCcjb2ZmZXItYmFubmVyLWFuaW1hdGVkIC5iYW5uZXItbWVzc2FnZScpO2NvbnNvbGUubG9nKCRiYW5uZXJzKTtpZigkYmFubmVycy5sZW5ndGg9PT0wKXtjb25zb2xlLmVycm9yKCJObyBlbGVtZW50cyB3aXRoIHRoZSBjbGFzcyAnYmFubmVyLW1lc3NhZ2UnIGZvdW5kLiIpO3JldHVybjt9CmxldCBjdXJyZW50SW5kZXg9MDtmdW5jdGlvbiBzaG93QmFubmVyKGluZGV4KXtpZigkYmFubmVycy5sZW5ndGg+MSl7JGJhbm5lcnMucmVtb3ZlQ2xhc3MoJ2FjdGl2ZSBvdXQnKTskYmFubmVycy5lcShpbmRleCkuYWRkQ2xhc3MoJ2FjdGl2ZScpO2NvbnN0IHByZXZpb3VzSW5kZXg9KGluZGV4LTErJGJhbm5lcnMubGVuZ3RoKSUkYmFubmVycy5sZW5ndGg7JGJhbm5lcnMuZXEocHJldmlvdXNJbmRleCkuYWRkQ2xhc3MoJ291dCcpO319CmZ1bmN0aW9uIGN5Y2xlQmFubmVycygpe2N1cnJlbnRJbmRleD0oY3VycmVudEluZGV4KzEpJSRiYW5uZXJzLmxlbmd0aDtzaG93QmFubmVyKGN1cnJlbnRJbmRleCk7fQpzaG93QmFubmVyKGN1cnJlbnRJbmRleCk7c2V0SW50ZXJ2YWwoY3ljbGVCYW5uZXJzLDcwMDApO30pOw==
- • https://es.motionpoint.com/data:text/javascript;base64,aWYoJCgnI2FlLXdlYmluYXItcmVnaXN0cmF0aW9uJykubGVuZ3RoPjApeyQoJyNvZmZlci1tb2RhbCcpLnJlbW92ZSgpOyQoJyNhZS13ZWJpbmFyLWJhY2tncm91bmQnKS5hZGRDbGFzcygnbW9kYWwtYmFja2dyb3VuZCcpOyQoJyNhZS13ZWJpbmFyLWJhY2tncm91bmQnKS5maW5kKCcubW9kYWwtY2xvc2UnKS5zaG93KCk7JCgnLm1vZGFsLWNsb3NlJykuY2xpY2soZnVuY3Rpb24oKXskKHRoaXMpLmhpZGUoKTskKCcjYWUtd2ViaW5hci1iYWNrZ3JvdW5kJykucmVtb3ZlQ2xhc3MoJ21vZGFsLWJhY2tncm91bmQnKTt9KTt9CiQoJy5mb3JtLXJldmVhbCcpLmNsaWNrKGZ1bmN0aW9uKCl7JCh0aGlzKS5oaWRlKCk7dmFyIGlmcmFtZUhlaWdodD0kKCcjZm9ybS1yZXZlYWwgaWZyYW1lJykuYXR0cignaGVpZ2h0Jyk7JCgnI2Zvcm0tcmV2ZWFsJykuYW5pbWF0ZSh7aGVpZ2h0OmlmcmFtZUhlaWdodCsncHgnfSwzMDApO30pOyQoJy5mb3JtLXJldmVhbC1ib2R5JykuY2xpY2soZnVuY3Rpb24oKXt2YXIgYnV0dG9uPSQodGhpcyk7dmFyIGZvcm1XcmFwPSQodGhpcykuY2xvc2VzdCgnLmZvcm0tcmV2ZWFsLXdyYXAnKTt2YXIgZm9ybVBhcmVudD1mb3JtV3JhcC5maW5kKCcuZm9ybS1yZXZlYWwnKTt2YXIgaWZyYW1lPWZvcm1QYXJlbnQuZmluZCgnaWZyYW1lJyk7dmFyIGlmcmFtZUhlaWdodD1pZnJhbWUuYXR0cignaGVpZ2h0Jyk7Zm9ybVBhcmVudC5zaG93KCk7JCh0aGlzKS5oaWRlKCk7Zm9ybVBhcmVudC5hbmltYXRlKHtoZWlnaHQ6aWZyYW1lSGVpZ2h0KydweCd9LDMwMCk7fSk7ZnVuY3Rpb24gY29udGFjdENvb2tpZShjb29raWVWYWwpe0Nvb2tpZXMuc2V0KCdjb250YWN0LXJlZmVycmVyJyxjb29raWVWYWwpO30KJCgiW2hyZWZePScvY29udGFjdCddIikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7dmFyIGNvbnRhY3RUZXh0PSQodGhpcykudGV4dCgpO3dpbmRvdy5kYXRhTGF5ZXIucHVzaCh7J2V2ZW50JzonY29udGFjdC1jbGljaycsJ2NvbnRhY3RDVEFMb2NhdGlvbic6U3RyaW5nKGxvY2F0aW9uLnBhdGhuYW1lKSwnY29udGFjdENUQVRleHQnOmNvbnRhY3RUZXh0fSk7dmFyIGNvbnRhY3RMb2NhdGlvbj0kKHRoaXMpLmRhdGEoJ2NvbnRhY3QnKTtjb25zb2xlLmxvZyhjb250YWN0TG9jYXRpb24pO2lmKGNvbnRhY3RMb2NhdGlvbj09Jycpe2NvbnRhY3RMb2NhdGlvbj0nSG9tZSc7fQpjb250YWN0Q29va2llKGNvbnRhY3RMb2NhdGlvbik7fSk7dmFyIGNvbnRhY3RSZWZlcnJlcj0nJztpZihTdHJpbmcobG9jYXRpb24ucGF0aG5hbWUpLmluZGV4T2YoJy9jb250YWN0Jyk8MCl7Q29va2llcy5yZW1vdmUoJ2NvbnRhY3QtcmVmZXJyZXInKTt9CmVsc2V7Y29udGFjdFJlZmVycmVyPUNvb2tpZXMuZ2V0KCdjb250YWN0LXJlZmVycmVyJyk7aWYoY29udGFjdFJlZmVycmVyPT1udWxsKXtjb250YWN0UmVmZXJyZXI9Jyc7fX0KZnVuY3Rpb24gcGxheVdlYmluYXIoKXskKCcjd2ViaW5hci1mb3JtLXdyYXBwZXInKS5oaWRlKCk7JCgnI3dlYmluYXItdmlkZW8td3JhcHBlcicpLnNob3coKTskKCJodG1sLCBib2R5IikuYW5pbWF0ZSh7c2Nyb2xsVG9wOjB9LCJzbG93IixmdW5jdGlvbigpe30pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2aWRlb1BsYXllci5wbGF5KCk7fSwxMzAwKTt9CmxldCBzZWFyY2hQYXJhbXM9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtpZihzZWFyY2hQYXJhbXMuaGFzKCdmb3JtY29tcGxldGUnKSl7cGxheVdlYmluYXIoKTt9CmZ1bmN0aW9uIHB1c2hEYXRhTGF5ZXIoKXt3aW5kb3cuZGF0YUxheWVyLnB1c2goeydldmVudCc6J2Zvcm0tc3VibWl0JywnZm9ybVBhZ2UnOlN0cmluZyhsb2NhdGlvbi5wYXRobmFtZSksJ2Zvcm1SZWZlcnJlcic6Y29udGFjdFJlZmVycmVyfSk7fQokKHdpbmRvdykub24oJ21lc3NhZ2UnLGZ1bmN0aW9uKGV2ZW50KXtjb25zdCBvcmlnaW5hbEV2ZW50PWV2ZW50Lm9yaWdpbmFsRXZlbnQ7Y29uc3QgbWVzc2FnZT1vcmlnaW5hbEV2ZW50LmRhdGE7aWYobWVzc2FnZS5hY3Rpb249PT0idXBkYXRlRXhwcmVzc0Zvcm0iKXskKCdpbnB1dFtuYW1lPSJQcm9qZWN0IFdlYnNpdGUgVVJMIl0nKS52YWwobWVzc2FnZS5kYXRhLndlYnNpdGUpO319KTt2YXIgZXhwcmVzc1VSTD0nJztmdW5jdGlvbiBzZXRFeHByZXNzVVJMKCl7Y29uc3QgaWZyYW1lPSQoJyNleHByZXNzLWZvcm0tZnJhbWUnKVswXTtjb25zdCBtZXNzYWdlPXthY3Rpb246InVwZGF0ZUV4cHJlc3NGb3JtIixkYXRhOnt3ZWJzaXRlOmV4cHJlc3NVUkx9fTtpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShtZXNzYWdlLCcqJyk7fQpmdW5jdGlvbiBwYXJkb3RNZXNzYWdlKGV2ZW50KXtpZihTdHJpbmcoZXZlbnQuZGF0YSkuaW5kZXhPZignZm9ybUhlaWdodDonKT4tMSl7dmFyIGZvcm1IZWlnaHQ9TnVtYmVyKFN0cmluZyhldmVudC5kYXRhKS5zcGxpdCgnOicpWzFdKTt2YXIgY29udGFjdEhlcm89JCgnI2NvbnRhdC1oZXJvJyk7dmFyIHBhcmRvdEZvcm09JCgnI3BhcmRvdC1mb3JtJyk7dmFyIGZvcm1PZmZzZXQ9cGFyZG90Rm9ybS5vZmZzZXQoKS50b3A7dmFyIGhlcm9IZWlnaHQ9TWF0aC5yb3VuZChmb3JtSGVpZ2h0K2Zvcm1PZmZzZXQrMzApO3BhcmRvdEZvcm0uYXR0cigiaGVpZ2h0Iixmb3JtSGVpZ2h0KzE1KTtjb250YWN0SGVyby5hdHRyKCdzdHlsZScsJ2hlaWdodDonK2hlcm9IZWlnaHQrJ3B4OycpO30KaWYoZXZlbnQuZGF0YS5mb3JtSGVpZ2h0KXtjb25zdCBmaW5hbEhlaWdodD1ldmVudC5kYXRhLmZvcm1IZWlnaHQtNzU7Y29uc3QgaWZyYW1lPSQoJy5wYXJkb3QtZm9ybScpO2lmKGlmcmFtZS5sZW5ndGgpe2lmcmFtZS5jc3MoJ2hlaWdodCcsZmluYWxIZWlnaHQrJ3B4Jyk7fX0KaWYoZXZlbnQuZGF0YT09ImZvcm0gc3ViIGd0bSIpe30KaWYoZXZlbnQuZGF0YS50eXBlPT09J2V4cHJlc3NVUkwnKXtjb25zb2xlLmxvZygnSW5wdXQgdmFsdWUgY2hhbmdlZCB0bzonLGV2ZW50LmRhdGEudmFsdWUpO2V4cHJlc3NVUkw9ZXZlbnQuZGF0YS52YWx1ZTtzZXRFeHByZXNzVVJMKCk7fQppZihldmVudC5kYXRhPT0ic3VibWl0Iil7fQppZihldmVudC5kYXRhPT0ic3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9Jy9jb250YWN0L3RoYW5rLXlvdS8nO30KaWYoZXZlbnQuZGF0YT09InN1Ym1pdC1pbyIpe3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPScvY29udGFjdC90aGFuay15b3UvJzt9CmlmKGV2ZW50LmRhdGE9PSJ3ZWJsb2Mtc3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9Jy93ZWJsb2MvdGhhbmsteW91Lyc7fQppZihldmVudC5kYXRhPT0iSUNQLXN1Ym1pdCIpe3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPScvaW5kdXN0cnkvdGhhbmsteW91Lyc7fQppZihldmVudC5kYXRhPT0icm9pLXN1Ym1pdCIpe3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPScvcmV0dXJuLW9uLWludmVzdG1lbnQvdGhhbmsteW91Lyc7fQppZihldmVudC5kYXRhPT0icGFydG5lci1zdWJtaXQiKXtwdXNoRGF0YUxheWVyKCk7bG9jYXRpb24uaHJlZj0nL3RoYW5rLXlvdS1wYXJ0bmVyc2hpcC8nO30KaWYoZXZlbnQuZGF0YT09InNlby1hdWRpdC1zdWJtaXQiKXtwdXNoRGF0YUxheWVyKCk7bG9jYXRpb24uaHJlZj0nL211bHRpbGluZ3VhbC1zZW8tYXVkaXQvdGhhbmsteW91Lyc7fQppZihldmVudC5kYXRhPT0iYWUtd2ViaW5hci1zdWJtaXQiKXtwdXNoRGF0YUxheWVyKCk7bG9jYXRpb24uaHJlZj0nL2hvdy1oZWFsdGgtaW5zdXJhbmNlLW1hcmtldGVycy1hdHRyYWN0LXUtcy1oaXNwYW5pY3MvdGhhbmsteW91Lyc7fQppZihldmVudC5kYXRhPT0iZXhwcmVzcy1wcm9ncmFtLXN1Ym1pdCIpe3B1c2hEYXRhTGF5ZXIoKTskKCcjZXhwcmVzcy1vdmVybGF5LWNvbnRlbnQnKS5oaWRlKCk7JCgnI2V4cHJlc3Mtb3ZlcmxheS10aGFua3MnKS5zaG93KCk7fQppZihldmVudC5kYXRhPT0iYWRhcHRpdmVjb24tc3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9Jy9hZGFwdGl2ZWNvbi0yMDI1L3RoYW5rLXlvdS8nO30KaWYoZXZlbnQuZGF0YT09Im11bHRpbGluZ3VhbC1tYXJrZXRpbmctc3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9Jy9tdWx0aWxpbmd1YWwtbWFya2V0aW5nLXNlcnZpY2VzL3RoYW5rLXlvdS8nO30KaWYoZXZlbnQuZGF0YT09InByb2R1Y3QtbWFuYWdlcnMtc3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9Jy9wcm9kdWN0LW1hbmFnZXJzL3RoYW5rLXlvdS8nO30KaWYoZXZlbnQuZGF0YT09InRyYW5zbGF0aW9uLW1hcmtldGVyLXN1Ym1pdCIpe3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPScvd2Vic2l0ZS10cmFuc2xhdGlvbi1mb3ItbWFya2V0ZXJzL3RoYW5rLXlvdS8nO30KaWYoZXZlbnQuZGF0YT09InNlby1hdWRpdC1zdWJtaXQiKXtwdXNoRGF0YUxheWVyKCk7bG9jYXRpb24uaHJlZj0nL211bHRpbGluZ3VhbC1zZW8tYXVkaXQvdGhhbmsteW91Lyc7fQppZihldmVudC5kYXRhPT0ic2NvcmVjYXJkLXN1Ym1pdCIpe3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPScvd2Vic2l0ZS10cmFuc2xhdGlvbi1zY29yZWNhcmQtYW5kLWxvY2FsaXphdGlvbi1kaWFnbm9zdGljL3RoYW5rLXlvdS8nO30KaWYoZXZlbnQuZGF0YT09InZpZGVvLXJlcXVlc3Qtc3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9Jy90aGFuay15b3UtZGVtby8nO30KaWYoZXZlbnQuZGF0YT09ImNhbXBhaWduLXN1Ym1pdCIpe3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPWxvY2F0aW9uLmhyZWYrJz9tZXNzYWdlPXRoYW5rIHlvdSc7fQppZihldmVudC5kYXRhPT0iYXJ0aWNsZS1nYXRlLXN1Ym1pdCIpe3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPWxvY2F0aW9uLmhyZWYrJz9hcnRpY2xlPWZ1bGwnO30KaWYoZXZlbnQuZGF0YT09Im9wdC1pbiBzdWJtaXQiKXskKCcjbW9kYWwtZm9ybScpLnJlbW92ZSgpOyQoJy5wcm9tcHQnKS5oaWRlKCk7JCgnLnRoYW5rJykuc2hvdygpO3B1c2hEYXRhTGF5ZXIoKTt9CmlmKGV2ZW50LmRhdGE9PSJzd2l0Y2gtdG8tbXAtc3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9Jy9jb250YWN0L3RoYW5rLXlvdS8nO30KaWYoZXZlbnQuZGF0YT09ImJvZ28tc3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9Jy9nZXQtc3RhcnRlZC1mb3ItZnJlZS90aGFuay15b3UvJzt9CmlmKGV2ZW50LmRhdGE9PSJnYXRlLWVib29rLXN1Ym1pdCIpe3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPScnO30KaWYoZXZlbnQuZGF0YT09ImVib29rLXBvcC1vdmVyIil7JCgnI29mZmVyLW1vZGFsJykuaGlkZSgpO3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPSJodHRwczovL2NvbnRlbnQubW90aW9ucG9pbnQuY29tL2wvNDg1NzgxLzIwMjItMTItMTUvMjlseG1mNC80ODU3ODEvMTY3MTEzNTY1MTAwekFwelVlL2luc291cmNlX3ZzX291dHNvdXJjZS5wZGYiO30KaWYoZXZlbnQuZGF0YT09InBvcC1vdmVyLXdlYmluYXItaXZvLXN1Ym1pdCIpeyQoJyNvZmZlci1tb2RhbCcpLmhpZGUoKTtwdXNoRGF0YUxheWVyKCk7bG9jYXRpb24uaHJlZj0iaHR0cHM6Ly93d3cubW90aW9ucG9pbnQuY29tL3JlZ2lzdGVyL3RoZS11bHRpbWF0ZS1ndWlkZS10by1vdXRzb3VyY2luZy12cy1pbnNvdXJjaW5nLXdlYnNpdGUtdHJhbnNsYXRpb25zLz9mb3JtY29tcGxldGU9dHJ1ZSI7fQppZihldmVudC5kYXRhPT0id2ViaW5hci1pdm8tc3VibWl0Iil7cHVzaERhdGFMYXllcigpO3BsYXlXZWJpbmFyKCk7fQppZihldmVudC5kYXRhPT0id2ViaW5hci1hZGFwdGl2ZWNvbi1zdWJtaXQifHxldmVudC5kYXRhPT0id2ViaW5hci13ZWJsb2Mtc3VibWl0Iil7cHVzaERhdGFMYXllcigpO3BsYXlXZWJpbmFyKCk7fQppZihldmVudC5kYXRhPT0icmV0YXJnZXRpbmctc3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9bG9jYXRpb24uaHJlZisnP21lc3NhZ2U9dGhhbmsgeW91Jzt9CmlmKGV2ZW50LmRhdGE9PSJibG9nLWFyY2hpdmUtc3VibWl0Iil7cHVzaERhdGFMYXllcigpO30KaWYoZXZlbnQuZGF0YT09ImJsb2ctcGFnZS1zdWJtaXQiKXtwdXNoRGF0YUxheWVyKCk7fQppZihldmVudC5kYXRhPT0iYXBpLXN1Ym1pdCIpeyQoJyNhcGktZm9ybS1ncmVldGluZycpLmhpZGUoKTskKCcjYXBpLWZvcm0tdGhhbmtzJykuc2hvdygpO3B1c2hEYXRhTGF5ZXIoKTt9CmlmKGV2ZW50LmRhdGE9PSd3ZWJpbmFyLXN1Ym1pdCcpe3B1c2hEYXRhTGF5ZXIoKTtsb2NhdGlvbi5ocmVmPScvYWRhcHRpdmUtdHJhbnNsYXRpb24td2ViaW5hci90aGFuay15b3UvJzt9CmlmKGV2ZW50LmRhdGE9PSJyZXNvdXJjZXMtc3VibWl0Iil7cHVzaERhdGFMYXllcigpO30KaWYoZXZlbnQuZGF0YT09InJpc2stZnJlZS1zdWJtaXQiKXtwdXNoRGF0YUxheWVyKCk7bG9jYXRpb24uaHJlZj0nL3Jpc2stZnJlZS1ndWFyYW50ZWUvdGhhbmsteW91Lyc7fQppZihldmVudC5kYXRhPT0iZmluYW5jaWFsLWZsdWVuY3ktc3VibWl0Iil7cHVzaERhdGFMYXllcigpO2xvY2F0aW9uLmhyZWY9Jy9maW5hbmNpYWwtZmx1ZW5jeS90aGFuay15b3UvJzt9fQp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscGFyZG90TWVzc2FnZSxmYWxzZSk7
Stylesheets (3)
Forms (1)
Resource Hints (3)
- • preload as:style https://es.motionpoint.com/wp-content/cache/autoptimize/1/css/autoptimize_single_4ab3f77883cfad4c98ed492f7670eb7b.css?ver=013818
- • preload as:style https://es.motionpoint.com/wp-content/plugins/add-search-to-menu/public/css/ivory-search.min.css
- • preload as:fetch crossorigin:anonymous https://es.motionpoint.com/wp-content/themes/motionpoint/js/u/adaptive-translation-compressed-final.json
trustarc.com (3 resources)
Inspected on December 20, 2025 at 14:26 UTC