{"scan":{"id":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","inputUrl":"https://cantal.cidff.info/","url":"https://cantal.cidff.info/","site":"cantal.cidff.info","collectionId":"74e55664-7c15-4c39-bfa3-88d7686c3094","status":"success","error":null,"pageTitle":"Accueil - Cantal — CIDFF","finalUrl":"https://cantal.cidff.info/","dnsServer":"9.9.9.9","pages":3,"browsingHistory":["https://cantal.cidff.info/","https://cantal.cidff.info/services/education-et-citoyennete/","https://cantal.cidff.info/services/vie-familiale-et-parentalite/"],"device":"mobile","phase":"pre","postOf":null,"consentResult":null,"consentCmp":null,"language":"fr-FR","languageSource":"html-lang","acceptLanguage":"en-US","languageDocument":true,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"tcfCmpId":null,"blocked":null,"blockedBy":null,"totalTrackingRequests":0,"analysisVersion":10,"trackerdbVersion":"1.0.920","maxmindDate":"2026-06-17","collectorVersion":"3.11.0","wikidataQid":null,"wikidataConfidence":null,"priority":0,"runnerId":null,"leaseExpiresAt":null,"requiredTag":null,"avoidRunnerId":null,"attempts":1,"createdAt":"2026-08-21T13:00:32.287Z","startedAt":"2026-08-22T17:19:51.577Z","finishedAt":"2026-08-22T17:20:05.915Z"},"pageAfterConsent":false,"half":{"id":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","status":"success","at":"2026-08-21T13:00:32.287Z","pages":["https://cantal.cidff.info/","https://cantal.cidff.info/services/education-et-citoyennete/","https://cantal.cidff.info/services/vie-familiale-et-parentalite/"],"consentResult":null,"consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":5,"cookies":0,"thirdPartyCookies":0},"other":{"id":"b0895624-e838-4a43-8d09-7218e64d4941","status":"success","at":"2026-08-22T17:20:06.161Z","pages":["https://cantal.cidff.info/","https://cantal.cidff.info/services/education-et-citoyennete/","https://cantal.cidff.info/services/vie-familiale-et-parentalite/"],"consentResult":"nopopup","consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":5,"cookies":0,"thirdPartyCookies":0,"phase":"post","trackerRows":[]},"trackers":[],"unidentified":[],"hosts":[{"id":109392,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","hostname":"cantal.cidff.info","party":"first","addresses":["147.135.162.2"],"countries":["FR"],"providers":["OVH SAS (AS16276)"],"asns":[16276],"source":"observed","error":null},{"id":109393,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","hostname":"unpkg.com","party":"third","addresses":["104.18.1.22"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":109394,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","hostname":"cdnjs.cloudflare.com","party":"third","addresses":["104.17.25.14"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":109395,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","hostname":"b.basemaps.cartocdn.com","party":"third","addresses":["151.101.206.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":109396,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","hostname":"c.basemaps.cartocdn.com","party":"third","addresses":["151.101.206.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":109397,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","hostname":"a.basemaps.cartocdn.com","party":"third","addresses":["151.101.206.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null}],"consentManagers":[],"signals":[{"id":56707,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","kind":"behaviour","label":"MOUSE","source":"https://cantal.cidff.info/wp-content/cache/autoptimize/autoptimize_single_fa03f187c5d2fdfce7632be6f0a06478.php?ver=1.9.4","details":["scroll"]},{"id":56708,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","kind":"behaviour","label":"KEYBOARD","source":"data:text/javascript;base64,CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBJZCA9ICJjaWRmZi1tYXAiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWFwSWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwRGV0YWlsc1JlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaWRmZi1zaXRlLWRldGFpbHMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzUG9pbnRzID0gWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vZGVsIDogWyBsYXQsIGxvbiwgdG9vbHRpcCwgc2l0ZURhdGEgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUuMTEwODcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi44Njk4MTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE1VUkFUYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTIiLCJjZW50cmVfaWQiOiIyIiwibm9tIjoiTVVSQVQiLCJub21fc2x1ZyI6Im11cmF0IiwiYWRyZXNzZSI6Ik1haXNvbiBkZXMgc2VydmljZXMgLSA0IHJ1ZSBGYXVib3VyZyBOb3RyZS1EYW1lIiwiY3AiOiIxNTMwMCIsInZpbGxlIjoiTXVyYXQiLCJ2aWxsZV9zbHVnIjoibXVyYXQiLCJjaXR5X2lkIjoiNTM2MSIsImVtYWlsIjoiY2lkZmYuMTVAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDQgNzEgMjAgMjggODgiLCJxcHYiOiIwIiwienJyIjoiMSIsImFjY3VlaWwiOiJNYWlzb24gZGUgc2VydmljZSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiTWFpc29uIGRlcyBzZXJ2aWNlcyIsImhvcmFpcmVzIjoiU3VyIGRlbWFuZGVcblN1ciBkZW1hbmRlXG5QZXJtYW5lbmNlIHRcdTAwZTlsXHUwMGU5cGhvbmlxdWUgIGp1cmlkaXF1ZSA6ICBUb3VzIGxlcyBsdW5kaXMgYXByXHUwMGU4cy1taWRpLCBkZSAxNGggXHUwMGUwIDE3aCwgbGUgQ0lERkYgXG5kdSBDYW50YWwgYXNzdXJlIHVuZSBwZXJtYW5lbmNlIGp1cmlkaXF1ZS4gVW5lIGp1cmlzdGUgZXN0IFx1MDBlMCB2b3RyZSBkaXNwb3NpdGlvbiBwb3VyIHJcdTAwZTlwb25kcmUgXHUwMGUwIHRvdXRlcyB2b3MgcXVlc3Rpb25zIGp1cmlkaXF1ZXMuXG4/Pz8/IENvbnRhY3Rlei1ub3VzIGF1IDA0IDcxIDQ2IDg5IDUwIiwidm9sX2hyX2hlYmRvIjoiMzVIIiwiaWkiOiIxIiwiaWMiOiIwIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6bnVsbCwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQ2FudGFsIiwicmVnaW9uIjoiQXV2ZXJnbmUtUmhcdTAwZjRuZS1BbHBlcyIsImNvb3JkcyI6eyJsYXQiOjQ1LjExMDg3LCJsb24iOjIuODY5ODE0LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ1LjExMDg3LDIuODY5ODE0LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvY2FudGFsLmNpZGZmLmluZm9cLyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NS4wMzM5MDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMy4wODE1MjMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFNBSU5ULUZMT1VSYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTMiLCJjZW50cmVfaWQiOiIyIiwibm9tIjoiU0FJTlQtRkxPVVIiLCJub21fc2x1ZyI6InNhaW50ZmxvdXIiLCJhZHJlc3NlIjoiMyBhdmVudWUgZHUgTGlvcmFuIiwiY3AiOiIxNTEwMCIsInZpbGxlIjoiU2FpbnQtRmxvdXIiLCJ2aWxsZV9zbHVnIjoic2FpbnRmbG91ciIsImNpdHlfaWQiOiI1NDA5IiwiZW1haWwiOiJjaWRmZi4xNUBvcmFuZ2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNCA3MSA0NiA4OSA1MCIsInFwdiI6IjAiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IkNlbnRyZSBDb21tdW5hbCBkJ0FjdGlvbiBTb2NpYWxlIENDQVMiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiSmV1ZGlzIC0gOWgwMCBcLyAxMmgwMCAxM2gwMCBcLyAxNmgwMCIsInZvbF9ocl9oZWJkbyI6IjEyaCBwYXIgbW9pcyIsImlpIjoiMSIsImljIjoiMSIsImUiOiIxIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkNhbnRhbCIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0NS4wMzM5MDEsImxvbiI6My4wODE1MjMsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDUuMDMzOTAxLDMuMDgxNTIzLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvY2FudGFsLmNpZGZmLmluZm9cLyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NS4yMjA2MjcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi4zNDA4MjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE1BVVJJQUNgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNCIsImNlbnRyZV9pZCI6IjIiLCJub20iOiJNQVVSSUFDIiwibm9tX3NsdWciOiJtYXVyaWFjIiwiYWRyZXNzZSI6IlNlcnZpY2VzIFNvY2lhdXggTWFpc29uIGRlIGxhIFNvbGlkYXJpdFx1MDBlOSAtIDI4IFJ1ZSBFbmNoYWxhZGUiLCJjcCI6IjE1MjAwIiwidmlsbGUiOiJNYXVyaWFjIiwidmlsbGVfc2x1ZyI6Im1hdXJpYWMiLCJjaXR5X2lkIjoiNTM0MyIsImVtYWlsIjoiY2lkZmYuMTVAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDQgNzEgNDYgODkgNTAiLCJxcHYiOiIwIiwienJyIjoiMSIsImFjY3VlaWwiOiJTZXJ2aWNlcyBTb2NpYXV4IE1haXNvbiBkZSBsYSBTb2xpZGFyaXRcdTAwZTkiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6Ik1haXNvbiBkZSBsYSBTb2xpZGFyaXRcdTAwZTkiLCJob3JhaXJlcyI6IlZlbmRyZWRpIC0gOWgwMCBcLzEyaDAwXG5TdXIgZGVtYW5kZVxuUGVybWFuZW5jZSB0XHUwMGU5bFx1MDBlOXBob25pcXVlICBqdXJpZGlxdWUgOiAgVG91cyBsZXMgbHVuZGlzIGFwclx1MDBlOHMtbWlkaSwgZGUgMTRoIFx1MDBlMCAxN2gsIGxlIENJREZGIFxuZHUgQ2FudGFsIGFzc3VyZSB1bmUgcGVybWFuZW5jZSBqdXJpZGlxdWUuIFVuZSBqdXJpc3RlIGVzdCBcdTAwZTAgdm90cmUgZGlzcG9zaXRpb24gcG91ciByXHUwMGU5cG9uZHJlIFx1MDBlMCB0b3V0ZXMgdm9zIHF1ZXN0aW9ucyBqdXJpZGlxdWVzLlxuPz8/PyBDb250YWN0ZXotbm91cyBhdSAwNCA3MSA0NiA4OSA1MCIsInZvbF9ocl9oZWJkbyI6IjMgaGV1cmVzIHBhciBtb2lzIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiQ2FudGFsIiwicmVnaW9uIjoiQXV2ZXJnbmUtUmhcdTAwZjRuZS1BbHBlcyIsImNvb3JkcyI6eyJsYXQiOjQ1LjIyMDYyNywibG9uIjoyLjM0MDgyOCwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0NS4yMjA2MjcsMi4zNDA4MjgsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9jYW50YWwuY2lkZmYuaW5mb1wvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0LjcxMDE1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuMTk1NzQ2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBNQVVSU2AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjE1IiwiY2VudHJlX2lkIjoiMiIsIm5vbSI6Ik1BVVJTIiwibm9tX3NsdWciOiJtYXVycyIsImFkcmVzc2UiOiJNYWlzb24gZGVzIHNlcnZpY2VzIC0gMyBwbGFjZSBkdSAxMSBub3ZlbWJyZSIsImNwIjoiMTU2MDAiLCJ2aWxsZSI6Ik1hdXJzIiwidmlsbGVfc2x1ZyI6Im1hdXJzIiwiY2l0eV9pZCI6IjUzNDUiLCJlbWFpbCI6ImNpZGZmLjE1QG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA0IDcxIDQ2IDg3IDE3IiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiTWFpc29uIGRlcyBTZXJ2aWNlcyBhdSBQdWJsaWNzIiwiYWNjdWVpbF9wcmVjaXNpb24iOiJNYWlzb24gZGVzIHNlcnZpY2VzIiwiaG9yYWlyZXMiOiJNZXJjcmVkaXMgU2VtYWluZSBwYWlyZXMgLSA5aFwvMTFoMzBcblN1ciBkZW1hbmRlXG5QZXJtYW5lbmNlIHRcdTAwZTlsXHUwMGU5cGhvbmlxdWUgIGp1cmlkaXF1ZSA6ICBUb3VzIGxlcyBsdW5kaXMgYXByXHUwMGU4cy1taWRpLCBkZSAxNGggXHUwMGUwIDE3aCwgbGUgQ0lERkYgXG5kdSBDYW50YWwgYXNzdXJlIHVuZSBwZXJtYW5lbmNlIGp1cmlkaXF1ZS4gVW5lIGp1cmlzdGUgZXN0IFx1MDBlMCB2b3RyZSBkaXNwb3NpdGlvbiBwb3VyIHJcdTAwZTlwb25kcmUgXHUwMGUwIHRvdXRlcyB2b3MgcXVlc3Rpb25zIGp1cmlkaXF1ZXMuXG4/Pz8/IENvbnRhY3Rlei1ub3VzIGF1IDA0IDcxIDQ2IDg5IDUwIiwidm9sX2hyX2hlYmRvIjoiM2gzMCBwYXIgbW9pcyIsImlpIjoiMSIsImljIjoiMCIsImUiOiIxIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOm51bGwsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkNhbnRhbCIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0NC43MTAxNSwibG9uIjoyLjE5NTc0NiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0NC43MTAxNSwyLjE5NTc0NiwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHA6XC9cL2NhbnRhbC5jaWRmZi5pbmZvXC8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUuMjgyMTAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNjYyODczLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBSSU9NIGVzIE1PTlRBR05FU2AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjE2IiwiY2VudHJlX2lkIjoiMiIsIm5vbSI6IlJJT00gZXMgTU9OVEFHTkVTIiwibm9tX3NsdWciOiJyaW9tLWVzLW1vbnRhZ25lcyIsImFkcmVzc2UiOiJTZXJ2aWNlcyBTb2NpYXV4IE1haXNvbiBkZSBsYSBTb2xpZGFyaXRcdTAwZTkgLSBSdWUgTWFyZ3Vlcml0ZSBNZXluaWFsIiwiY3AiOiIxNTQwMCIsInZpbGxlIjoiUmlvbS1cdTAwZThzLU1vbnRhZ25lcyIsInZpbGxlX3NsdWciOiJyaW9tZXNtb250YWduZXMiLCJjaXR5X2lkIjoiNTM4NSIsImVtYWlsIjoiY2lkZmYuMTVAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDQgNzEgNDYgODkgNTAiLCJxcHYiOiIwIiwienJyIjoiMSIsImFjY3VlaWwiOiJTZXJ2aWNlcyBTb2NpYXV4IE1haXNvbiBkZSBsYSBTb2xpZGFyaXRcdTAwZTkiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6Ik1haXNvbiBkZSBsYSBTb2xpZGFyaXRcdTAwZTkiLCJob3JhaXJlcyI6IlN1ciBkZW1hbmRlXG5TdXIgZGVtYW5kZVxuUGVybWFuZW5jZSB0XHUwMGU5bFx1MDBlOXBob25pcXVlICBqdXJpZGlxdWUgOiAgVG91cyBsZXMgbHVuZGlzIGFwclx1MDBlOHMtbWlkaSwgZGUgMTRoIFx1MDBlMCAxN2gsIGxlIENJREZGIFxuZHUgQ2FudGFsIGFzc3VyZSB1bmUgcGVybWFuZW5jZSBqdXJpZGlxdWUuIFVuZSBqdXJpc3RlIGVzdCBcdTAwZTAgdm90cmUgZGlzcG9zaXRpb24gcG91ciByXHUwMGU5cG9uZHJlIFx1MDBlMCB0b3V0ZXMgdm9zIHF1ZXN0aW9ucyBqdXJpZGlxdWVzLlxuPz8/PyBDb250YWN0ZXotbm91cyBhdSAwNCA3MSA0NiA4OSA1MCIsInZvbF9ocl9oZWJkbyI6IjMgSCBwYXIgbW9pcyIsImlpIjoiMSIsImljIjoiMCIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkNhbnRhbCIsInJlZ2lvbiI6IkF1dmVyZ25lLVJoXHUwMGY0bmUtQWxwZXMiLCJjb29yZHMiOnsibGF0Ijo0NS4yODIxMDEsImxvbiI6Mi42NjI4NzMsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDUuMjgyMTAxLDIuNjYyODczLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cDpcL1wvY2FudGFsLmNpZGZmLmluZm9cLyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NC45MjA3ODUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMi40NDI4OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgQXVyaWxsYWNgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNzY4IiwiY2VudHJlX2lkIjoiMiIsIm5vbSI6IkF1cmlsbGFjIiwibm9tX3NsdWciOiJhdXJpbGxhYyIsImFkcmVzc2UiOiIzMiBydWUgQ2xhaXJ2aXZyZSIsImNwIjoiMTUwMDAiLCJ2aWxsZSI6IkF1cmlsbGFjIiwidmlsbGVfc2x1ZyI6ImF1cmlsbGFjIiwiY2l0eV9pZCI6IjUyNDIiLCJlbWFpbCI6ImNpZGZmLjE1QG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA0IDcxIDQ2IDg5IDUwIiwicXB2IjoiMCIsInpyciI6IjAiLCJhY2N1ZWlsIjoiQ0lERkYgMTUiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiTHVuZGksIG1hcmRpIGV0IGpldWRpIDogOGgzMCAtIDEyaDAwIFwvIDEzaDAwIC0gMThoMDBcbk1lcmNyZWRpIDogOGgzMCAtIDEyaDAwIFwvIDEzaDMwIC0gMTdoMDBcblZlbmRyZWRpIDogOGgzMCAtIDEyaDAwIFwvIDEzaCAtIDE2aDAwIiwidm9sX2hyX2hlYmRvIjoiMzVoMDAgIiwiaWkiOiIxIiwiaWMiOiIxIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6IkwnYWNjb21wYWduZW1lbnQgcGFyZW50YWxpdFx1MDBlOSAoRUlDQ0YsIG1cdTAwZTlkaWF0aW9uIGZhbWlsaWFsZSkiLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOiJBdXRyZSIsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJDYW50YWwiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDQuOTIwNzg1LCJsb24iOjIuNDQyODksInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDQuOTIwNzg1LDIuNDQyODksMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9jYW50YWwuY2lkZmYuaW5mb1wvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1LjI1MTQ2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMTk3NzIzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBNQVNTSUFDYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMzAwNiIsImNlbnRyZV9pZCI6IjIiLCJub20iOiJNQVNTSUFDIiwibm9tX3NsdWciOiJtYXNzaWFjIiwiYWRyZXNzZSI6Ik1haXNvbiBGcmFuY2UgU2VydmljZSAtIDYgcnVlIGR1IGRvY3RldXIgTWFsbGV0IiwiY3AiOiIxNTUwMCIsInZpbGxlIjoiTWFzc2lhYyIsInZpbGxlX3NsdWciOiJtYXNzaWFjIiwiY2l0eV9pZCI6IjUzNDIiLCJlbWFpbCI6ImNpZGZmLjE1QG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA0IDcxIDQ2IDg5IDUwICIsInFwdiI6IjAiLCJ6cnIiOiIwIiwiYWNjdWVpbCI6IiIsImFjY3VlaWxfcHJlY2lzaW9uIjoiTWFpc29uIEZyYW5jZSBzZXJ2aWNlcyIsImhvcmFpcmVzIjoiU3VyIGRlbWFuZGVcblBlcm1hbmVuY2UgdFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSAganVyaWRpcXVlIDogIFRvdXMgbGVzIGx1bmRpcyBhcHJcdTAwZThzLW1pZGksIGRlIDE0aCBcdTAwZTAgMTdoLCBsZSBDSURGRiBcbmR1IENhbnRhbCBhc3N1cmUgdW5lIHBlcm1hbmVuY2UganVyaWRpcXVlLiBVbmUganVyaXN0ZSBlc3QgXHUwMGUwIHZvdHJlIGRpc3Bvc2l0aW9uIHBvdXIgclx1MDBlOXBvbmRyZSBcdTAwZTAgdG91dGVzIHZvcyBxdWVzdGlvbnMganVyaWRpcXVlcy5cbj8/Pz8gQ29udGFjdGV6LW5vdXMgYXUgMDQgNzEgNDYgODkgNTAiLCJ2b2xfaHJfaGViZG8iOiIiLCJpaSI6IjAiLCJpYyI6IjAiLCJlIjoiMCIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjpudWxsLCJhY2Nlc3NpYmlsaXRlMiI6bnVsbCwiYWNjZXNzaWJpbGl0ZTMiOm51bGwsImFjY2Vzc2liaWxpdGU0IjpudWxsLCJhY2Nlc3NpYmlsaXRlNSI6IkNldHRlIHBlcm1hbmVuY2Ugblx1MjAxOWVzdCBwYXMgYWNjZXNzaWJsZSBhdXggcGVyc29ubmVzIGVuIHNpdHVhdGlvbiBkZSBoYW5kaWNhcCIsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6IkZyYW5jZSBTZXJ2aWNlIiwiZGVwYXJ0ZW1lbnQiOiJDYW50YWwiLCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiY29vcmRzIjp7ImxhdCI6NDUuMjUxNDYsImxvbiI6My4xOTc3MjMsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDUuMjUxNDYsMy4xOTc3MjMsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9jYW50YWwuY2lkZmYuaW5mb1wvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0LjkyMDc4NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjQ0Mjg5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBDYW50YWwsIEF1cmlsbGFjYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMiIsIm5vbSI6IkNhbnRhbCwgQXVyaWxsYWMiLCJhZHJlc3NlIjoiMzIgY2l0XHUwMGU5IENsYWlydml2cmUiLCJjcCI6IjE1MDAwIiwidmlsbGUiOiJBdXJpbGxhYyIsInRlbGVwaG9uZSI6IjA0IDcxIDQ2IDg5IDUwIiwibWFpbCI6ImNpZGYuMTVAd2FuYWRvby5mciIsInNpdGVfaW50ZXJuZXQiOiJodHRwOlwvXC9jYW50YWwuY2lkZmYuaW5mb1wvIiwiYWNjZXNfZHJvaXQiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJlbXBsb2kiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsInZpb2xlbmNlcyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJwYXJlbnRhbGl0ZSI6IkwnYWNjb21wYWduZW1lbnQgcGFyZW50YWxpdFx1MDBlOSAoRUlDQ0YsIG1cdTAwZTlkaWF0aW9uIGZhbWlsaWFsZSkiLCJhdXRyZSI6bnVsbCwic2llZ2UiOnRydWUsImNvb3JkcyI6eyJsYXQiOjQ0LjkyMDc4NSwibG9uIjoyLjQ0Mjg5LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQ0LjkyMDc4NSwyLjQ0Mjg5LDE1eiJ9LCJyZWdpb24iOiJBdXZlcmduZS1SaFx1MDBmNG5lLUFscGVzIiwiZGVwYXJ0ZW1lbnQiOiJDYW50YWwifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdFpvb20gPSA3OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRab29tTW9iaWxlID0gNjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtaW5ab29tID0gNjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXhab29tID0gMjA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtYXAgPSBudWxsOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGluaXRNYXAoc2VsZWN0ZWRDYXRlZ29yaWVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwID0gbmV3IEwubWFwKG1hcElkLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvb21Db250cm9sOiBmYWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgTC5jb250cm9sLnpvb20oewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbXJpZ2h0JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLmFkZFRvKG1hcCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBMLnRpbGVMYXllcigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2h0dHBzOi8ve3N9LmJhc2VtYXBzLmNhcnRvY2RuLmNvbS9saWdodF9hbGwve3p9L3t4fS97eX17cn0ucG5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluWm9vbSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFpvb20KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkuYWRkVG8obWFwKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTEgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5MiA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnkzID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTQgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5NSA9IFtdOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrZXJzID0gbmV3IEwubWFya2VyQ2x1c3Rlckdyb3VwKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BpZGVyTGVnUG9seWxpbmVPcHRpb25zOiB7IHdlaWdodDogNjAwLCBjb2xvcjogJyMyMjInLCBvcGFjaXR5OiAwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heENsdXN0ZXJSYWRpdXM6IDQwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1haW5NYXJrZXJzID0gbmV3IEwubGF5ZXJHcm91cCgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHJlc3NQb2ludHMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IGFkZHJlc3NQb2ludHNbaV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gYVsyXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGFbM107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvb3JkcyA9IG5ldyBMLkxhdExuZyhhWzBdLCBhWzFdKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrZXIgPSB7IGRhdGE6IG5ldyBMLm1hcmtlcihjb29yZHMsIHsgdGl0bGUgfSksIHNpZWdlOiBkYXRhLnNpZWdlIH07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlMSddIHx8IGRhdGFbJ2FjY2VzX2Ryb2l0J10gKSBsYXllckNhdGVnb3J5MS5wdXNoKG1hcmtlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmUyJ10gfHwgZGF0YVsndmlvbGVuY2VzJ10gKSBsYXllckNhdGVnb3J5Mi5wdXNoKG1hcmtlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmUzJ10gfHwgZGF0YVsnZW1wbG9pJ10gKSBsYXllckNhdGVnb3J5My5wdXNoKG1hcmtlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmU0J10gfHwgZGF0YVsncGFyZW50YWxpdGUnXSApIGxheWVyQ2F0ZWdvcnk0LnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTUnXSB8fCBkYXRhWydhdXRyZSddICkgbGF5ZXJDYXRlZ29yeTUucHVzaChtYXJrZXIpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya2VyLmRhdGEuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnBhblRvKGNvb3Jkcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBSZWYuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ29uLW1hcmtlci1pbnRlcmFjdCcsIHsgZGV0YWlsOiBkYXRhIH0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRMYXllcihtYWluTWFya2Vycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZExheWVyKG1hcmtlcnMpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllcnNUb0Rpc3BsYXkgPSBbXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkQ2F0ZWdvcmllcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcygxKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDIpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoMykgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcyg0KSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnk0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDUpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MSwgLi4ubGF5ZXJDYXRlZ29yeTIsIC4uLmxheWVyQ2F0ZWdvcnkzLCAuLi5sYXllckNhdGVnb3J5NCwgLi4ubGF5ZXJDYXRlZ29yeTUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXJrZXJzVG9TaG93ID0gWy4uLm5ldyBTZXQobGF5ZXJzVG9EaXNwbGF5KV07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFya2Vyc1RvU2hvdy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtID0gbWFya2Vyc1RvU2hvd1tpXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtLnNpZWdlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuYWRkVG8obWFpbk1hcmtlcnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLnNldFpJbmRleE9mZnNldCgxMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5zZXRJY29uKGNyZWF0ZU1haW5NYXJrZXIoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuYWRkVG8obWFya2Vycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuc2V0SWNvbihjcmVhdGVNYXJrZXIoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggbWFya2Vycy5nZXRMYXllcnMoKS5sZW5ndGggPiAwICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmZpdEJvdW5kcyhtYXJrZXJzLmdldEJvdW5kcygpLCB7IHBhZGRpbmc6IFsgMTAsIDEwIF0gfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobWFpbk1hcmtlcnMuZ2V0TGF5ZXJzKClbMF0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zZXRWaWV3KG1haW5NYXJrZXJzLmdldExheWVycygpWzBdLmdldExhdExuZygpLCA1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNldFZpZXcoWzQ2LjUsIDIuMzQ1NDkyM10sIDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJbnRlcmFjdGlvbiBydWxlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5zY3JvbGxXaGVlbFpvb20uZGlzYWJsZSgpOyAvLyBEaXNhYmxlIHNjcm9sbCBpbnRlcmFjdGlvbiBhdCBmaXJzdAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNjcm9sbFdoZWVsWm9vbS5lbmFibGUoKTsgLy8gUmVlbmFibGUgc2Nyb2xsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNjcm9sbFdoZWVsWm9vbS5kaXNhYmxlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcFJlZi5hZGRFdmVudExpc3RlbmVyKCdvbi1tYXJrZXItaW50ZXJhY3QnLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTaXRlRGV0YWlscyhlLmRldGFpbCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhpZGVEZXRhaWxzRXZlbnRzID0gWydjbGljaycsICdtb3Zlc3RhcnQnXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVEZXRhaWxzRXZlbnRzLmZvckVhY2goZSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRFdmVudExpc3RlbmVyKGUsICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5rZXkgPT09ICJFc2NhcGUiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY3JlYXRlTWFya2VyKGNsYXNzTmFtZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTC5pY29uKHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblVybDogJ2h0dHBzOi8vY2FudGFsLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1zZWNvbmRhcnktZmlsbGVkLndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzE4LCAyM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2h0dHBzOi8vY2FudGFsLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQtc2hhZG93LndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dTaXplOiBbMjUsIDI1XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93QW5jaG9yOiBbNCwgMTVdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY3JlYXRlTWFpbk1hcmtlcigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEwuaWNvbih7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25Vcmw6ICdodHRwczovL2NhbnRhbC5jaWRmZi5pbmZvL3dwLWNvbnRlbnQvdGhlbWVzL2NpZGZmLXdwL2Fzc2V0cy9pbWFnZXMvd2VicC9pY29uLXBpbnMtZmlsbGVkLndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzI4LCAzM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2h0dHBzOi8vY2FudGFsLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQtc2hhZG93LndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dTaXplOiBbMzAsIDMwXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93QW5jaG9yOiBbNCwgMTZdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2V0U2l0ZURldGFpbHMoZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTaXRlRGV0YWlscygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VlTW9yZUtleSA9IGRhdGEuc2llZ2UgPyBgJHtuZXcgU3RyaW5nKGRhdGEubm9tKS5yZXBsYWNlKC9cXHxcLHxccy9naSwgJy0nKS50b0xvd2VyQ2FzZSgpfS0ke2RhdGEuaWR9YCA6IGAke2RhdGEubm9tX3NsdWd9LSR7ZGF0YS5pZH1gCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRpdGxlJ10iKS5pbm5lckhUTUwgPSBkYXRhLm5vbTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtc2VlLW1vcmUnXSIpLmhyZWYgPSBgaHR0cHM6Ly9jYW50YWwuY2lkZmYuaW5mby9saXN0ZS1kZXMtcGVybWFuZW5jZXMvP2RlcGFydGVtZW50PSR7ZGF0YS5kZXBhcnRlbWVudH0mY2VudHJlLWlkPSR7c2VlTW9yZUtleX1gOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5ob3JhaXJlcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtaG91cnMtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWhvdXJzJ10iKS5pbm5lckhUTUwgPSBkYXRhLmhvcmFpcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1ob3Vycy13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWxvY2F0aW9uJ10iKS5pbm5lckhUTUwgPSBgJHtkYXRhLmFkcmVzc2V9LCAke2RhdGEuY3B9ICR7ZGF0YS52aWxsZX1gOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS50ZWxlcGhvbmUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRlbC13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGVsJ10iKS5pbm5lckhUTUwgPSBkYXRhLnRlbGVwaG9uZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtdGVsLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTEgfHwgZGF0YS5hY2Nlc19kcm9pdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMSddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTEnXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTIgfHwgZGF0YS5lbXBsb2kpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTInXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0yJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmUzIHx8IGRhdGEudmlvbGVuY2VzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0zJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMyddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlNCB8fCBkYXRhLnBhcmVudGFsaXRlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS00J10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtNCddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaGlkZVNpdGVEZXRhaWxzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzaG93U2l0ZURldGFpbHMoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5jbGFzc0xpc3QuYWRkKCdhY3RpdmUnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHJlc2V0TWFwTGF5b3V0KCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5vZmYoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAucmVtb3ZlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9uLW1hcC1yZWZyZXNoIiwgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldE1hcExheW91dCgpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdENhdGVnb3JpZXMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFzdC1maWx0ZXItY2F0ZWdvcmllcycpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFzdENhdGVnb3JpZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdENhdGVnb3JpZXMgPSBKU09OLnBhcnNlKGxhc3RDYXRlZ29yaWVzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKGxhc3RDYXRlZ29yaWVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9uLWNhdGVnb3J5LWZpbHRlci1jaGFuZ2UiLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkQ2F0ZWdvcmllcyA9IGUuZGV0YWlsOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAub2ZmKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAoc2VsZWN0ZWRDYXRlZ29yaWVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICA=","details":["keydown"]}],"cookies":[],"software":[],"platforms":[{"id":3515,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","kind":"cms","name":"WordPress","evidence":"/wp-content/cache/autoptimize/autoptimize_single_64ac31699f5326cb3c76122498b76f66.php?ver=6.1.4","source":"path"}],"offeredLanguages":[],"resources":[{"id":52858,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","party":"first","kind":"image","requests":31,"bytes":946015},{"id":52859,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","party":"third","kind":"image","requests":4,"bytes":272590},{"id":52860,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","party":"third","kind":"script","requests":4,"bytes":182093},{"id":52861,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","party":"first","kind":"font","requests":12,"bytes":172599},{"id":52862,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","party":"first","kind":"script","requests":29,"bytes":120085},{"id":52863,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","party":"first","kind":"style","requests":13,"bytes":56715},{"id":52864,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","party":"first","kind":"document","requests":3,"bytes":32228},{"id":52865,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","party":"third","kind":"style","requests":3,"bytes":11862}],"dependencies":[],"pixels":[],"headers":[{"id":13745,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","name":"content-security-policy","value":"frame-ancestors 'self';"},{"id":13746,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","name":"server","value":"Apache"},{"id":13747,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","name":"x-content-type-options","value":"nosniff"}],"identifiers":[],"domain":{"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","domain":"cidff.info","dnssec":"signed","ipv6":false,"ipv6Reachable":null,"ipv6Reason":"no-aaaa","spf":false,"dmarcPolicy":null,"dnsError":null,"tlsProtocol":"TLSv1.3","tlsCipher":"TLS_AES_256_GCM_SHA384","tlsAlpn":"h2","tlsIssuer":"Let's Encrypt","tlsValidFrom":"2026-07-28T07:02:10.000Z","tlsValidTo":"2026-10-26T07:02:09.000Z","tlsAuthorized":true,"tlsError":null,"registrar":null,"registeredAt":null,"expiresAt":null,"holderCountry":null,"rdapSource":"rdap.identitydigital.services","rdapError":"réponse 400 du registre","robotsFound":false,"robotsAllows":true,"adsFound":false,"adsPartners":0,"securityFound":false,"securityContact":null,"probedAt":"2026-08-22T17:20:05.926Z","mailProvider":"OVHcloud","dnsProvider":"OVHcloud","tlsAuthority":"Let's Encrypt (ISRG)","tlsAuthorityCountry":"US"},"dns":[{"id":36529,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","kind":"mx","value":"mx4.mail.ovh.net","rank":1,"cnameTarget":null,"provider":"OVHcloud"},{"id":36530,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","kind":"mx","value":"mail.nexylan.net","rank":0,"cnameTarget":"lba-sov.soverin.net","provider":null},{"id":36531,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","kind":"mx","value":"mx3.mail.ovh.net","rank":10,"cnameTarget":null,"provider":"OVHcloud"},{"id":36532,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","kind":"ns","value":"ns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"},{"id":36533,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","kind":"ns","value":"dns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"}],"adsPartners":[],"blocklists":[{"id":54761,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"Quad9","resolverIp":"9.9.9.9","kind":"security","verdict":"allowed","note":null},{"id":54762,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"CleanBrowsing Security","resolverIp":"185.228.168.9","kind":"security","verdict":"allowed","note":null},{"id":54763,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"Comodo Secure","resolverIp":"8.26.56.26","kind":"security","verdict":"allowed","note":null},{"id":54764,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"OpenDNS","resolverIp":"208.67.222.222","kind":"security","verdict":"unknown","note":"EREFUSED"},{"id":54765,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"AdGuard","resolverIp":"94.140.14.14","kind":"ads","verdict":"allowed","note":null},{"id":54766,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"AdGuard Famille","resolverIp":"94.140.14.15","kind":"family","verdict":"allowed","note":null},{"id":54767,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"Cloudflare Famille","resolverIp":"1.1.1.3","kind":"family","verdict":"allowed","note":null},{"id":54768,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"CleanBrowsing Famille","resolverIp":"185.228.168.168","kind":"family","verdict":"allowed","note":null},{"id":54769,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"CleanBrowsing Adulte","resolverIp":"185.228.168.10","kind":"family","verdict":"allowed","note":null},{"id":54770,"scanId":"56a5bf80-adcf-42ae-8fee-ad1daf547ece","resolver":"OpenDNS Famille","resolverIp":"208.67.222.123","kind":"family","verdict":"unknown","note":"EREFUSED"}],"threats":[],"wayback":null,"cnames":[],"reputation":[],"webcompat":{"consulted":false,"rules":0,"updatedAt":null,"flags":[]},"wikidata":{"entities":{"Q34045622":{"qid":"Q34045622","label":"Fastly","description":"entreprise américaine de cloud computing","officialWebsite":"https://www.fastly.com","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Fastly%20logo.svg","tosdrId":"9951","influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/Fastly","fr":"https://fr.wikipedia.org/wiki/Fastly"},"parentQid":null,"countryCode":"US","countryLabel":"États-Unis","fetchedAt":"2026-10-18T15:05:56.758Z"},"Q568183":{"qid":"Q568183","label":"OVHcloud","description":"hébergeur de sites web français","officialWebsite":"https://www.ovhcloud.com/en/","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Logo%20OVH.svg","tosdrId":null,"influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/OVHcloud","fr":"https://fr.wikipedia.org/wiki/OVHcloud"},"parentQid":null,"countryCode":"FR","countryLabel":"France","fetchedAt":"2026-10-18T15:08:27.232Z"},"Q4778915":{"qid":"Q4778915","label":"Cloudflare","description":"entreprise américaine spécialisée dans la sécurité et les services web","officialWebsite":"https://www.cloudflare.com/","image":"http://commons.wikimedia.org/wiki/Special:FilePath/Cloudflare%20Logo.svg","tosdrId":"894","influenceWatchId":null,"wikipedia":{"en":"https://en.wikipedia.org/wiki/Cloudflare","fr":"https://fr.wikipedia.org/wiki/Cloudflare"},"parentQid":null,"countryCode":"US","countryLabel":"États-Unis","fetchedAt":"2026-10-18T15:05:57.236Z"}},"asnToQid":{"13335":"Q4778915","16276":"Q568183","54113":"Q34045622"}},"siteMatch":{"qid":null,"confidence":null,"decided":false}}