{"scan":{"id":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","inputUrl":"https://gers.cidff.info/","url":"https://gers.cidff.info/","site":"gers.cidff.info","collectionId":"74e55664-7c15-4c39-bfa3-88d7686c3094","status":"success","error":null,"pageTitle":"Accueil - Gers — CIDFF","finalUrl":"https://gers.cidff.info/","dnsServer":"9.9.9.9","pages":3,"browsingHistory":["https://gers.cidff.info/","https://gers.cidff.info/cours-de-yoga-au-cidff/","https://gers.cidff.info/contact/"],"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:01:21.075Z","startedAt":"2026-08-22T00:17:46.184Z","finishedAt":"2026-08-22T00:18:01.359Z"},"pageAfterConsent":false,"half":{"id":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","status":"success","at":"2026-08-21T13:01:21.075Z","pages":["https://gers.cidff.info/","https://gers.cidff.info/cours-de-yoga-au-cidff/","https://gers.cidff.info/contact/"],"consentResult":null,"consentCmp":null,"tcfVendors":null,"tcfConsented":null,"tcfPurposes":null,"trackerRefs":[],"trackers":0,"requests":0,"thirdPartyHosts":5,"cookies":0,"thirdPartyCookies":0},"other":{"id":"4eaf8cac-f9a5-4967-84a1-83c11b94f985","status":"success","at":"2026-08-22T00:18:01.397Z","pages":["https://gers.cidff.info/","https://gers.cidff.info/cours-de-yoga-au-cidff/","https://gers.cidff.info/contact/"],"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":92284,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","hostname":"gers.cidff.info","party":"first","addresses":["147.135.162.2"],"countries":["FR"],"providers":["OVH SAS (AS16276)"],"asns":[16276],"source":"observed","error":null},{"id":92285,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","hostname":"unpkg.com","party":"third","addresses":["104.18.1.22"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":92286,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","hostname":"cdnjs.cloudflare.com","party":"third","addresses":["104.17.25.14"],"countries":["US"],"providers":["Cloudflare, Inc. (AS13335)"],"asns":[13335],"source":"observed","error":null},{"id":92287,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","hostname":"c.basemaps.cartocdn.com","party":"third","addresses":["151.101.62.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":92288,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","hostname":"b.basemaps.cartocdn.com","party":"third","addresses":["151.101.62.132"],"countries":["US"],"providers":["Fastly, Inc. (AS54113)"],"asns":[54113],"source":"observed","error":null},{"id":92289,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","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":41437,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","kind":"behaviour","label":"MOUSE","source":"https://gers.cidff.info/wp-content/cache/autoptimize/autoptimize_single_fa03f187c5d2fdfce7632be6f0a06478.php?ver=1.9.4","details":["scroll"]},{"id":41438,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","kind":"behaviour","label":"KEYBOARD","source":"data:text/javascript;base64,CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXBJZCA9ICJjaWRmZi1tYXAiOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwUmVmID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobWFwSWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFwRGV0YWlsc1JlZiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaWRmZi1zaXRlLWRldGFpbHMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzUG9pbnRzID0gWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1vZGVsIDogWyBsYXQsIGxvbiwgdG9vbHRpcCwgc2l0ZURhdGEgXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuODUwMjgyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNjYxNzYyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBGTEVVUkFOQ0UgSlVSSURJUVVFYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTMyMiIsImNlbnRyZV9pZCI6Ijg2Iiwibm9tIjoiRkxFVVJBTkNFIEpVUklESVFVRSIsIm5vbV9zbHVnIjoiZmxldXJhbmNlLWp1cmlkaXF1ZSIsImFkcmVzc2UiOiJDZW50cmUgQ29tbXVuYWwgZCdBY3Rpb24gU29jaWFsZVxuNjIgcnVlIEFkb2xwaGUgQ2FkXHUwMGU5b3QiLCJjcCI6IjMyNTAwIiwidmlsbGUiOiJGbGV1cmFuY2UiLCJ2aWxsZV9zbHVnIjoiZmxldXJhbmNlIiwiY2l0eV9pZCI6IjEyNTkxIiwiZW1haWwiOiJhY2N1ZWlsY2lkZmYzMkBvcmFuZ2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNTYyNjM0MDc1IiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiTWFpc29uIGRlcyBTZXJ2aWNlcyBhdXggUHVibGljcyIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJMZSAxZXIgamV1ZGkgbWF0aW4gZHUgbW9pcyBkZSA5aDQ1IFx1MDBlMCAxMiBoZXVyZXMiLCJ2b2xfaHJfaGViZG8iOiIyaDMwIHBhciBtb2lzIiwiaWkiOiIxIiwiaWMiOiIwIiwiZSI6IjAiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkdlcnMiLCJyZWdpb24iOiJPY2NpdGFuaWUiLCJjb29yZHMiOnsibGF0Ijo0My44NTAyODIsImxvbiI6MC42NjE3NjIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuODUwMjgyLDAuNjYxNzYyLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL2dlcnMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My41MjU5NzksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4xNjM3NzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE1BUkNJQUMgSlVSSURJUVVFYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMTMyMyIsImNlbnRyZV9pZCI6Ijg2Iiwibm9tIjoiTUFSQ0lBQyBKVVJJRElRVUUiLCJub21fc2x1ZyI6Im1hcmNpYWMtanVyaWRpcXVlIiwiYWRyZXNzZSI6Ik1haXNvbiBkZXMgc29saWRhcml0XHUwMGU5cyBcbjQ3IENoZW1pbiBkZSBSb25kZSIsImNwIjoiMzIyMzAiLCJ2aWxsZSI6Ik1hcmNpYWMiLCJ2aWxsZV9zbHVnIjoibWFyY2lhYyIsImNpdHlfaWQiOiIxMjY5MCIsImVtYWlsIjoiYWNjdWVpbGNpZGZmMzJAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDU2MjYzNDA3NSIsInFwdiI6IjAiLCJ6cnIiOiIxIiwiYWNjdWVpbCI6Ik1haXNvbiBkZXMgU29saWRhcml0XHUwMGU5cyIsImFjY3VlaWxfcHJlY2lzaW9uIjoiTWFpc29uIGRlcyBTb2xpZGFyaXRcdTAwZTlzIiwiaG9yYWlyZXMiOiJMZSAxZXIgbHVuZGkgYXByXHUwMGU4cy1taWRpIGR1IG1vaXMgZGUgMTNoMzAgXHUwMGUwIDE2aCIsInZvbF9ocl9oZWJkbyI6IjJoMzAgcGFyIG1vaXMiLCJpaSI6IjEiLCJpYyI6IjAiLCJlIjoiMCIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjpudWxsLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6bnVsbCwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiR2VycyIsInJlZ2lvbiI6Ik9jY2l0YW5pZSIsImNvb3JkcyI6eyJsYXQiOjQzLjUyNTk3OSwibG9uIjowLjE2Mzc3NywidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My41MjU5NzksMC4xNjM3NzcsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvZ2Vycy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjc1NzQwOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC4wMzc1NjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE5PR0FSTyBKVVJJRElRVUVgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxMzI0IiwiY2VudHJlX2lkIjoiODYiLCJub20iOiJOT0dBUk8gSlVSSURJUVVFIiwibm9tX3NsdWciOiJub2dhcm8tanVyaWRpcXVlIiwiYWRyZXNzZSI6Ik1haXNvbiBGcmFuY2UgU2VydmljZXNcbjggYXZlbnVlIENhc3NvdSBkZSBIZXJyZSIsImNwIjoiMzIxMTAiLCJ2aWxsZSI6Ik5vZ2FybyIsInZpbGxlX3NsdWciOiJub2dhcm8iLCJjaXR5X2lkIjoiMTI3NTIiLCJlbWFpbCI6ImFjY3VlaWxjaWRmZjMyQG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA1NjI2MzQwNzUiLCJxcHYiOiIwIiwienJyIjoiMSIsImFjY3VlaWwiOiJNYWlyaWUiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiTGUgMlx1MDBlOG1lIG1hcmRpIG1hdGluIGR1IG1vaXMgZGUgMTBoIFx1MDBlMCAxMmgiLCJ2b2xfaHJfaGViZG8iOiIyaDMwIHBhciBtb2lzIiwiaWkiOiIxIiwiaWMiOiIwIiwiZSI6IjAiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkdlcnMiLCJyZWdpb24iOiJPY2NpdGFuaWUiLCJjb29yZHMiOnsibGF0Ijo0My43NTc0MDgsImxvbiI6LTAuMDM3NTYyLCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjc1NzQwOCwtMC4wMzc1NjIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvZ2Vycy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjYxMjU3NywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjA4OTAyOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgSVNMRSBKT1VSREFJTiAgUFNZQ0hPIEVUIEpVUklESVFVRWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjEzMjUiLCJjZW50cmVfaWQiOiI4NiIsIm5vbSI6IklTTEUgSk9VUkRBSU4gIFBTWUNITyBFVCBKVVJJRElRVUUiLCJub21fc2x1ZyI6ImlzbGUtam91cmRhaW4tLXBzeWNoby1ldC1qdXJpZGlxdWUiLCJhZHJlc3NlIjoiQ2VudHJlIFNvY2lhbFxuRXNwYWNlIEZhbWlsbGUgQW5pbWF0aW9uXG4yIGF2ZW51ZSBkdSBDb3VyZFx1MDBlOSIsImNwIjoiMzI2MDAiLCJ2aWxsZSI6IklzbGUtSm91cmRhaW4gKEwnKSIsInZpbGxlX3NsdWciOiJpc2xlam91cmRhaW4tKGwpIiwiY2l0eV9pZCI6IjEyNjE4IiwiZW1haWwiOiJhY2N1ZWlsY2lkZmYzMkBvcmFuZ2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNTYyNjM0MDc1IiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiQ2VudHJlIFNvY2lhbCBNdWx0aVBhcnRlbmFyaWFsIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IlBzeWNobyA6IDFlciBtYXJkaSBhcHJcdTAwZThzLW1pZGkgZHUgbW9pcyBkZSAxNGggXHUwMGUwIDE3aFxuSnVyaWRpcXVlIDogM1x1MDBlOG1lIG1lcmNyZWRpIG1hdGluIGR1IG1vaXMgZGUgOWgzMCBcdTAwZTAgMTJoIiwidm9sX2hyX2hlYmRvIjoiNiBwYXIgbW9pcyIsImlpIjoiMSIsImljIjoiMCIsImUiOiIwIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOiJMJ2FjY1x1MDBlOHMgYXV4IGRyb2l0cyB0b3V0ZXMgdGhcdTAwZTltYXRpcXVlcyBjb25mb25kdWVzIChEXHUwMGU5Y3JldCAyMDE1LTE3NDUgZHUgMjMgZFx1MDBlOWNlbWJyZSAyMDE1IHJlbGF0aWYgXHUwMGUwIGwnYWdyXHUwMGU5bWVudCkiLCJjYWRyZTIiOm51bGwsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjpudWxsLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJHZXJzIiwicmVnaW9uIjoiT2NjaXRhbmllIiwiY29vcmRzIjp7ImxhdCI6NDMuNjEyNTc3LCJsb24iOjEuMDg5MDI4LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjYxMjU3NywxLjA4OTAyOCwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9nZXJzLmNpZGZmLmluZm8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuOTUwOTk2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMzc1MzQ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBDT05ET00gRU1QTE9JIChGcmFuY2UgVHJhdmFpbClgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxMzI3IiwiY2VudHJlX2lkIjoiODYiLCJub20iOiJDT05ET00gRU1QTE9JIChGcmFuY2UgVHJhdmFpbCkiLCJub21fc2x1ZyI6ImNvbmRvbS1lbXBsb2ktKGZyYW5jZS10cmF2YWlsKSIsImFkcmVzc2UiOiJGcmFuY2UgVHJhdmFpbCBcbjIgcnVlIExhbWFydGluZSIsImNwIjoiMzIxMDAiLCJ2aWxsZSI6IkNvbmRvbSIsInZpbGxlX3NsdWciOiJjb25kb20iLCJjaXR5X2lkIjoiMTI1NjYiLCJlbWFpbCI6ImFjY3VlaWxjaWRmZjMyQG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA1NjI2MzQwNzUiLCJxcHYiOiIwIiwienJyIjoiMSIsImFjY3VlaWwiOiJQXHUwMGY0bGUgRW1wbG9pIiwiYWNjdWVpbF9wcmVjaXNpb24iOiJQXHUwMGY0bGUgRW1wbG9pIiwiaG9yYWlyZXMiOiJMZSAyXHUwMGU4bWUgbWVyY3JlZGkgbWF0aW4gZHUgbW9pcyBkZSA5IGhldXJlcyBcdTAwZTAgMTIgaGV1cmVzIiwidm9sX2hyX2hlYmRvIjoiMyBoZXVyZXMgcGFyIG1vaXMiLCJpaSI6IjEiLCJpYyI6IjAiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjpudWxsLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjpudWxsLCJ0eXBlMyI6bnVsbCwidHlwZTQiOm51bGwsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJHZXJzIiwicmVnaW9uIjoiT2NjaXRhbmllIiwiY29vcmRzIjp7ImxhdCI6NDMuOTUwOTk2LCJsb24iOjAuMzc1MzQ0LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjk1MDk5NiwwLjM3NTM0NCwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9nZXJzLmNpZGZmLmluZm8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuNjQ4MDcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41ODM1MjksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYEFVQ0ggQ0lERkZgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIxNzI3IiwiY2VudHJlX2lkIjoiODYiLCJub20iOiJBVUNIIENJREZGIiwibm9tX3NsdWciOiJhdWNoLWNpZGZmIiwiYWRyZXNzZSI6IjIgcGxhY2UgZGUgbCdBbmNpZW4gRm9pcmFpbCIsImNwIjoiMzIwMDAiLCJ2aWxsZSI6IkF1Y2giLCJ2aWxsZV9zbHVnIjoiYXVjaCIsImNpdHlfaWQiOiIxMjQ3MiIsImVtYWlsIjoiYWNjdWVpbGNpZGZmMzJAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDUgNjIgNjMgNDAgNzUiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiJDSURGRiBEVSBHRVJTIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IkR1IGx1bmRpIGF1IHZlbmRyZWRpIGRlIDloIFx1MDBlMCAxNyBoZXVyZXMiLCJ2b2xfaHJfaGViZG8iOiI0MCBoZXVyZXMiLCJpaSI6IjEiLCJpYyI6IjEiLCJlIjoiMSIsInYiOiIxIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjoiTCdhY2NcdTAwZThzIGF1eCBkcm9pdHMgdG91dGVzIHRoXHUwMGU5bWF0aXF1ZXMgY29uZm9uZHVlcyAoRFx1MDBlOWNyZXQgMjAxNS0xNzQ1IGR1IDIzIGRcdTAwZTljZW1icmUgMjAxNSByZWxhdGlmIFx1MDBlMCBsJ2Fnclx1MDBlOW1lbnQpIiwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOiJMJ2FjY29tcGFnbmVtZW50IHZpb2xlbmNlIiwiY2FkcmU0IjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImNhZHJlNSI6IkF1dHJlIiwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjoiVmlzaW9jb25mXHUwMGU5cmVuY2UiLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkdlcnMiLCJyZWdpb24iOiJPY2NpdGFuaWUiLCJjb29yZHMiOnsibGF0Ijo0My42NDgwNywibG9uIjowLjU4MzUyOSwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My42NDgwNywwLjU4MzUyOSwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9nZXJzLmNpZGZmLmluZm8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuNTI0MzYyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMTYwOTYyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBNQVJDSUFDIEVNUExPSWAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6IjIxODEiLCJjZW50cmVfaWQiOiI4NiIsIm5vbSI6Ik1BUkNJQUMgRU1QTE9JIiwibm9tX3NsdWciOiJtYXJjaWFjLWVtcGxvaSIsImFkcmVzc2UiOiJNYWlyaWVcbjE5IHBsYWNlIGRlIGwnSFx1MDBmNHRlbCBkZSBWaWxsZSIsImNwIjoiMzIyMzAiLCJ2aWxsZSI6Ik1hcmNpYWMiLCJ2aWxsZV9zbHVnIjoibWFyY2lhYyIsImNpdHlfaWQiOiIxMjY5MCIsImVtYWlsIjoiYWNjdWVpbGNpZGZmMzJAb3JhbmdlLmZyIiwidGVsZXBob25lIjoiMDU2MjYzNDA3NSIsInFwdiI6IjAiLCJ6cnIiOiIxIiwiYWNjdWVpbCI6Ik1haXJpZSIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJMZSA0XHUwMGU4bWUgamV1ZGkgbWF0aW4gZHUgbW9pcyBkZSA5aCBcdTAwZTAgMTJoIiwidm9sX2hyX2hlYmRvIjoiM2ggcGFyIG1vaXMiLCJpaSI6IjEiLCJpYyI6IjAiLCJlIjoiMSIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjpudWxsLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6IkwnYWNjb21wYWduZW1lbnQgdmlvbGVuY2UiLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkdlcnMiLCJyZWdpb24iOiJPY2NpdGFuaWUiLCJjb29yZHMiOnsibGF0Ijo0My41MjQzNjIsImxvbiI6MC4xNjA5NjIsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuNTI0MzYyLDAuMTYwOTYyLDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL2dlcnMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My43NTgxODEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4zMDYxODIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYFZJQyBFTVBMT0lgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIyNDczIiwiY2VudHJlX2lkIjoiODYiLCJub20iOiJWSUMgRU1QTE9JIiwibm9tX3NsdWciOiJ2aWMtZW1wbG9pIiwiYWRyZXNzZSI6IkNlbnRyZSBzb2NpYWxcbjEzIHJ1ZSBKZWFuIEphdXJcdTAwZThzIiwiY3AiOiIzMjE5MCIsInZpbGxlIjoiVmljLUZlemVuc2FjIiwidmlsbGVfc2x1ZyI6InZpY2ZlemVuc2FjIiwiY2l0eV9pZCI6IjEyOTE4IiwiZW1haWwiOiJhY2N1ZWlsY2lkZmYzMkBvcmFuZ2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNTYyNjM0MDc1IiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiQ0VOVFJFIFNPQ0lBTCIsImFjY3VlaWxfcHJlY2lzaW9uIjoiIiwiaG9yYWlyZXMiOiJMZSAyXHUwMGU4bWUgbWFyZGkgZHUgbW9pcyB0b3V0ZSBsYSBqb3Vyblx1MDBlOWUgZGUgOWgzMCBcdTAwZTAgMTZoMzAiLCJ2b2xfaHJfaGViZG8iOiIzLDUgaGV1cmVzIHBhciBtb2lzIiwiaWkiOiIxIiwiaWMiOiIwIiwiZSI6IjEiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6bnVsbCwiY2FkcmUyIjoiTCdhY2NvbXBhZ25lbWVudCBlbXBsb2kiLCJjYWRyZTMiOm51bGwsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOiJUXHUwMGU5bFx1MDBlOXBob25pcXVlIiwidHlwZTMiOm51bGwsInR5cGU0IjpudWxsLCJtZnMiOm51bGwsImRlcGFydGVtZW50IjoiR2VycyIsInJlZ2lvbiI6Ik9jY2l0YW5pZSIsImNvb3JkcyI6eyJsYXQiOjQzLjc1ODE4MSwibG9uIjowLjMwNjE4MiwidXJsIjoiaHR0cHM6XC9cL3d3dy5nb29nbGUuZnJcL21hcHNcL0A0My43NTgxODEsMC4zMDYxODIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvZ2Vycy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjc1NzQwOCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC4wMzc1NjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYE5PR0FSTyBFTVBMT0lgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIyNDc0IiwiY2VudHJlX2lkIjoiODYiLCJub20iOiJOT0dBUk8gRU1QTE9JIiwibm9tX3NsdWciOiJub2dhcm8tZW1wbG9pIiwiYWRyZXNzZSI6Ik1haXNvbiBGcmFuY2UgU2VydmljZXNcbjggYXZlbnVlIENhc3NvdSBkZSBIZXJyZSIsImNwIjoiMzIxMTAiLCJ2aWxsZSI6Ik5vZ2FybyIsInZpbGxlX3NsdWciOiJub2dhcm8iLCJjaXR5X2lkIjoiMTI3NTIiLCJlbWFpbCI6ImFjY3VlaWxjaWRmZjMyQG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA1NjI2MzQwNzUiLCJxcHYiOiIwIiwienJyIjoiMSIsImFjY3VlaWwiOiJNQUlSSUUgREUgTk9HQVJPIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IkxlIDJcdTAwZThtZSBqZXVkaSBtYXRpbiBkdSBtb2lzIGRlIDloIFx1MDBlMCAxMmgiLCJ2b2xfaHJfaGViZG8iOiIzLjUwIEhFVVJFUyBQQVIgTU9JUyIsImlpIjoiMSIsImljIjoiMCIsImUiOiIxIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOm51bGwsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjpudWxsLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjoiRnJhbmNlIFNlcnZpY2UiLCJkZXBhcnRlbWVudCI6IkdlcnMiLCJyZWdpb24iOiJPY2NpdGFuaWUiLCJjb29yZHMiOnsibGF0Ijo0My43NTc0MDgsImxvbiI6LTAuMDM3NTYyLCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjc1NzQwOCwtMC4wMzc1NjIsMTV6In0sInNpdGVfaW50ZXJuZXQiOiJodHRwczpcL1wvZ2Vycy5jaWRmZi5pbmZvIn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQzLjUxMzgyMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjQwMTY5NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgTUlSQU5ERSBFTVBMT0lgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIyOTE4IiwiY2VudHJlX2lkIjoiODYiLCJub20iOiJNSVJBTkRFIEVNUExPSSIsIm5vbV9zbHVnIjoibWlyYW5kZS1lbXBsb2kiLCJhZHJlc3NlIjoiTWFpcmllXG5Cb3VsZXZhcmQgQ2xcdTAwZTltZW5jZWF1IiwiY3AiOiIzMjMwMCIsInZpbGxlIjoiTWlyYW5kZSIsInZpbGxlX3NsdWciOiJtaXJhbmRlIiwiY2l0eV9pZCI6IjEyNzEzIiwiZW1haWwiOiIiLCJ0ZWxlcGhvbmUiOiIiLCJxcHYiOiIwIiwienJyIjoiMSIsImFjY3VlaWwiOiIiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiTGUgNFx1MDBlOG1lIGpldWRpIGFwclx1MDBlOHMtbWlkaSBkdSBtb2lzIGRlIDE0aCBcdTAwZTAgMTZoMzAiLCJ2b2xfaHJfaGViZG8iOiIiLCJpaSI6IjEiLCJpYyI6IjAiLCJlIjoiMSIsInYiOiIwIiwicHJlY2lzaW9uIjoiIiwiY2FydG9ncmFwaGllIjoiMSIsImRlbGV0ZWQiOiIwIiwiY2FkcmUxIjpudWxsLCJjYWRyZTIiOiJMJ2FjY29tcGFnbmVtZW50IGVtcGxvaSIsImNhZHJlMyI6bnVsbCwiY2FkcmU0IjpudWxsLCJjYWRyZTUiOm51bGwsImFjY2Vzc2liaWxpdGUxIjoiQXVkaXRpZiIsImFjY2Vzc2liaWxpdGUyIjoiTWVudGFsXC9Qc3ljaGlxdWUiLCJhY2Nlc3NpYmlsaXRlMyI6Ik1vdGV1ciIsImFjY2Vzc2liaWxpdGU0IjoiVmlzdWVsIiwiYWNjZXNzaWJpbGl0ZTUiOm51bGwsInR5cGUxIjoiUGh5c2lxdWUiLCJ0eXBlMiI6IlRcdTAwZTlsXHUwMGU5cGhvbmlxdWUiLCJ0eXBlMyI6IlZpc2lvY29uZlx1MDBlOXJlbmNlIiwidHlwZTQiOm51bGwsIm1mcyI6bnVsbCwiZGVwYXJ0ZW1lbnQiOiJHZXJzIiwicmVnaW9uIjoiT2NjaXRhbmllIiwiY29vcmRzIjp7ImxhdCI6NDMuNTEzODIyLCJsb24iOjAuNDAxNjk0LCJ1cmwiOiJodHRwczpcL1wvd3d3Lmdvb2dsZS5mclwvbWFwc1wvQDQzLjUxMzgyMiwwLjQwMTY5NCwxNXoifSwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9nZXJzLmNpZGZmLmluZm8ifSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMuOTU3Mzg4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMzc0Njc1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBDT05ET00gSlVSSURJUVVFYCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImlkIjoiMjk0NyIsImNlbnRyZV9pZCI6Ijg2Iiwibm9tIjoiQ09ORE9NIEpVUklESVFVRSIsIm5vbV9zbHVnIjoiY29uZG9tLWp1cmlkaXF1ZSIsImFkcmVzc2UiOiJDZW50cmUgU29jaWFsXG4yOCBydWUgR2FtYmV0dGEiLCJjcCI6IjMyMTAwIiwidmlsbGUiOiJDb25kb20iLCJ2aWxsZV9zbHVnIjoiY29uZG9tIiwiY2l0eV9pZCI6IjEyNTY2IiwiZW1haWwiOiJhY2N1ZWlsY2lkZmYzMkBvcmFuZ2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNTYyNjM0MDc1IiwicXB2IjoiMCIsInpyciI6IjEiLCJhY2N1ZWlsIjoiIiwiYWNjdWVpbF9wcmVjaXNpb24iOiIiLCJob3JhaXJlcyI6IkxlIDRcdTAwZThtZSBtZXJjcmVkaSBtYXRpbiBkdSBtb2lzIGRlIDEwaCBcdTAwZTAgMTIgaGV1cmVzIiwidm9sX2hyX2hlYmRvIjoiIiwiaWkiOiIxIiwiaWMiOiIwIiwiZSI6IjAiLCJ2IjoiMSIsInByZWNpc2lvbiI6IiIsImNhcnRvZ3JhcGhpZSI6IjEiLCJkZWxldGVkIjoiMCIsImNhZHJlMSI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImNhZHJlMiI6bnVsbCwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkdlcnMiLCJyZWdpb24iOiJPY2NpdGFuaWUiLCJjb29yZHMiOnsibGF0Ijo0My45NTczODgsImxvbiI6MC4zNzQ2NzUsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuOTU3Mzg4LDAuMzc0Njc1LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL2dlcnMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My42MDk3MTgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4wOTE2MzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYElTTEUgSk9VUkRBSU4gRU1QTE9JIChGcmFuY2UgVHJhdmFpbClgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIzNTM4IiwiY2VudHJlX2lkIjoiODYiLCJub20iOiJJU0xFIEpPVVJEQUlOIEVNUExPSSAoRnJhbmNlIFRyYXZhaWwpIiwibm9tX3NsdWciOiJpc2xlLWpvdXJkYWluLWVtcGxvaS0oZnJhbmNlLXRyYXZhaWwpIiwiYWRyZXNzZSI6IjEyIHJ1ZSBSb2dlciBDb3VkZXJjIiwiY3AiOiIzMjYwMCIsInZpbGxlIjoiSXNsZS1Kb3VyZGFpbiAoTCcpIiwidmlsbGVfc2x1ZyI6ImlzbGVqb3VyZGFpbi0obCkiLCJjaXR5X2lkIjoiMTI2MTgiLCJlbWFpbCI6ImFjY3VlaWxjaWRmZjMyQG9yYW5nZS5mciIsInRlbGVwaG9uZSI6IjA1NjI2MzQwNzUiLCJxcHYiOiIwIiwienJyIjoiMCIsImFjY3VlaWwiOiIiLCJhY2N1ZWlsX3ByZWNpc2lvbiI6IiIsImhvcmFpcmVzIjoiTGUgMWVyIGx1bmRpIG1hdGluIGR1IG1vaXMgZGUgOWggXHUwMGUwIDEyaCIsInZvbF9ocl9oZWJkbyI6IiIsImlpIjoiMSIsImljIjoiMCIsImUiOiIxIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOm51bGwsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjpudWxsLCJjYWRyZTQiOm51bGwsImNhZHJlNSI6bnVsbCwiYWNjZXNzaWJpbGl0ZTEiOiJBdWRpdGlmIiwiYWNjZXNzaWJpbGl0ZTIiOiJNZW50YWxcL1BzeWNoaXF1ZSIsImFjY2Vzc2liaWxpdGUzIjoiTW90ZXVyIiwiYWNjZXNzaWJpbGl0ZTQiOiJWaXN1ZWwiLCJhY2Nlc3NpYmlsaXRlNSI6bnVsbCwidHlwZTEiOiJQaHlzaXF1ZSIsInR5cGUyIjoiVFx1MDBlOWxcdTAwZTlwaG9uaXF1ZSIsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkdlcnMiLCJyZWdpb24iOiJPY2NpdGFuaWUiLCJjb29yZHMiOnsibGF0Ijo0My42MDk3MTgsImxvbiI6MS4wOTE2MzcsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuNjA5NzE4LDEuMDkxNjM3LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL2dlcnMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My42MzU3ODMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41ODQ2MTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYEFVQ0ggRU1QTE9JIChGcmFuY2UgVHJhdmFpbClgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiaWQiOiIzNzc3IiwiY2VudHJlX2lkIjoiODYiLCJub20iOiJBVUNIIEVNUExPSSAoRnJhbmNlIFRyYXZhaWwpIiwibm9tX3NsdWciOiJhdWNoLWVtcGxvaS0oZnJhbmNlLXRyYXZhaWwpIiwiYWRyZXNzZSI6IjggcnVlIFJhY2luZVxuIiwiY3AiOiIzMjAwMCIsInZpbGxlIjoiQXVjaCIsInZpbGxlX3NsdWciOiJhdWNoIiwiY2l0eV9pZCI6IjEyNDcyIiwiZW1haWwiOiJhY2N1ZWlsY2lkZmYzMkBvcmFuZ2UuZnIiLCJ0ZWxlcGhvbmUiOiIwNTYyNjM0MDc1IiwicXB2IjoiMCIsInpyciI6IjAiLCJhY2N1ZWlsIjoiIiwiYWNjdWVpbF9wcmVjaXNpb24iOiJGcmFuY2UgVHJhdmFpbCIsImhvcmFpcmVzIjoiTGUgMlx1MDBlOG1lIG1hcmRpIG1hdGluIGR1IG1vaXMgZGUgOWggXHUwMGUwIDEyaCIsInZvbF9ocl9oZWJkbyI6IiIsImlpIjoiMSIsImljIjoiMCIsImUiOiIxIiwidiI6IjEiLCJwcmVjaXNpb24iOiIiLCJjYXJ0b2dyYXBoaWUiOiIxIiwiZGVsZXRlZCI6IjAiLCJjYWRyZTEiOm51bGwsImNhZHJlMiI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwiY2FkcmUzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsImNhZHJlNCI6bnVsbCwiY2FkcmU1IjpudWxsLCJhY2Nlc3NpYmlsaXRlMSI6IkF1ZGl0aWYiLCJhY2Nlc3NpYmlsaXRlMiI6Ik1lbnRhbFwvUHN5Y2hpcXVlIiwiYWNjZXNzaWJpbGl0ZTMiOiJNb3RldXIiLCJhY2Nlc3NpYmlsaXRlNCI6IlZpc3VlbCIsImFjY2Vzc2liaWxpdGU1IjpudWxsLCJ0eXBlMSI6IlBoeXNpcXVlIiwidHlwZTIiOm51bGwsInR5cGUzIjpudWxsLCJ0eXBlNCI6bnVsbCwibWZzIjpudWxsLCJkZXBhcnRlbWVudCI6IkdlcnMiLCJyZWdpb24iOiJPY2NpdGFuaWUiLCJjb29yZHMiOnsibGF0Ijo0My42MzU3ODMsImxvbiI6MC41ODQ2MTUsInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuNjM1NzgzLDAuNTg0NjE1LDE1eiJ9LCJzaXRlX2ludGVybmV0IjoiaHR0cHM6XC9cL2dlcnMuY2lkZmYuaW5mbyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0My42NDgwNywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjU4MzUyOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgR2VycywgQXVjaGAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJpZCI6Ijg2Iiwibm9tIjoiR2VycywgQXVjaCIsImFkcmVzc2UiOiIyIHBsYWNlIEFuY2llbiBmb3JhaWwiLCJjcCI6IjMyMDAwIiwidmlsbGUiOiJBdWNoIiwidGVsZXBob25lIjoiMDUgNjIgNjMgNDAgNzUiLCJtYWlsIjoiYWNjdWVpbGNpZGZmMzJAb3JhbmdlLmZyIiwic2l0ZV9pbnRlcm5ldCI6Imh0dHBzOlwvXC9nZXJzLmNpZGZmLmluZm8iLCJhY2Nlc19kcm9pdCI6IkwnYWNjXHUwMGU4cyBhdXggZHJvaXRzIHRvdXRlcyB0aFx1MDBlOW1hdGlxdWVzIGNvbmZvbmR1ZXMgKERcdTAwZTljcmV0IDIwMTUtMTc0NSBkdSAyMyBkXHUwMGU5Y2VtYnJlIDIwMTUgcmVsYXRpZiBcdTAwZTAgbCdhZ3JcdTAwZTltZW50KSIsImVtcGxvaSI6IkwnYWNjb21wYWduZW1lbnQgZW1wbG9pIiwidmlvbGVuY2VzIjoiTCdhY2NvbXBhZ25lbWVudCB2aW9sZW5jZSIsInBhcmVudGFsaXRlIjoiTCdhY2NvbXBhZ25lbWVudCBwYXJlbnRhbGl0XHUwMGU5IChFSUNDRiwgbVx1MDBlOWRpYXRpb24gZmFtaWxpYWxlKSIsImF1dHJlIjoiQXV0cmUiLCJzaWVnZSI6dHJ1ZSwiY29vcmRzIjp7ImxhdCI6NDMuNjQ4MDcsImxvbiI6MC41ODM1MjksInVybCI6Imh0dHBzOlwvXC93d3cuZ29vZ2xlLmZyXC9tYXBzXC9ANDMuNjQ4MDcsMC41ODM1MjksMTV6In0sInJlZ2lvbiI6Ik9jY2l0YW5pZSIsImRlcGFydGVtZW50IjoiR2VycyJ9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0Wm9vbSA9IDc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdFpvb21Nb2JpbGUgPSA2OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1pblpvb20gPSA2OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1heFpvb20gPSAyMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1hcCA9IG51bGw7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gaW5pdE1hcChzZWxlY3RlZENhdGVnb3JpZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAgPSBuZXcgTC5tYXAobWFwSWQsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbUNvbnRyb2w6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBMLmNvbnRyb2wuem9vbSh7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkuYWRkVG8obWFwKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaHR0cHM6Ly97c30uYmFzZW1hcHMuY2FydG9jZG4uY29tL2xpZ2h0X2FsbC97en0ve3h9L3t5fXtyfS5wbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5ab29tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Wm9vbQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5hZGRUbyhtYXApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5MSA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnkyID0gW107CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGF5ZXJDYXRlZ29yeTMgPSBbXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXllckNhdGVnb3J5NCA9IFtdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyQ2F0ZWdvcnk1ID0gW107CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtlcnMgPSBuZXcgTC5tYXJrZXJDbHVzdGVyR3JvdXAoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGlkZXJMZWdQb2x5bGluZU9wdGlvbnM6IHsgd2VpZ2h0OiA2MDAsIGNvbG9yOiAnIzIyMicsIG9wYWNpdHk6IDAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q2x1c3RlclJhZGl1czogNDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFpbk1hcmtlcnMgPSBuZXcgTC5sYXllckdyb3VwKCk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkcmVzc1BvaW50cy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gYWRkcmVzc1BvaW50c1tpXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGl0bGUgPSBhWzJdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYVszXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29vcmRzID0gbmV3IEwuTGF0TG5nKGFbMF0sIGFbMV0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtlciA9IHsgZGF0YTogbmV3IEwubWFya2VyKGNvb3JkcywgeyB0aXRsZSB9KSwgc2llZ2U6IGRhdGEuc2llZ2UgfTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZGF0YVsnY2FkcmUxJ10gfHwgZGF0YVsnYWNjZXNfZHJvaXQnXSApIGxheWVyQ2F0ZWdvcnkxLnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTInXSB8fCBkYXRhWyd2aW9sZW5jZXMnXSApIGxheWVyQ2F0ZWdvcnkyLnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTMnXSB8fCBkYXRhWydlbXBsb2knXSApIGxheWVyQ2F0ZWdvcnkzLnB1c2gobWFya2VyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBkYXRhWydjYWRyZTQnXSB8fCBkYXRhWydwYXJlbnRhbGl0ZSddICkgbGF5ZXJDYXRlZ29yeTQucHVzaChtYXJrZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGRhdGFbJ2NhZHJlNSddIHx8IGRhdGFbJ2F1dHJlJ10gKSBsYXllckNhdGVnb3J5NS5wdXNoKG1hcmtlcik7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrZXIuZGF0YS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAucGFuVG8oY29vcmRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcFJlZi5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnb24tbWFya2VyLWludGVyYWN0JywgeyBkZXRhaWw6IGRhdGEgfSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZExheWVyKG1haW5NYXJrZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuYWRkTGF5ZXIobWFya2Vycyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxheWVyc1RvRGlzcGxheSA9IFtdOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRDYXRlZ29yaWVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDEpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoMikgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGVjdGVkQ2F0ZWdvcmllcy5pbmNsdWRlcygzKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggc2VsZWN0ZWRDYXRlZ29yaWVzLmluY2x1ZGVzKDQpICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzVG9EaXNwbGF5LnB1c2goLi4ubGF5ZXJDYXRlZ29yeTQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxlY3RlZENhdGVnb3JpZXMuaW5jbHVkZXMoNSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcnNUb0Rpc3BsYXkucHVzaCguLi5sYXllckNhdGVnb3J5NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyc1RvRGlzcGxheS5wdXNoKC4uLmxheWVyQ2F0ZWdvcnkxLCAuLi5sYXllckNhdGVnb3J5MiwgLi4ubGF5ZXJDYXRlZ29yeTMsIC4uLmxheWVyQ2F0ZWdvcnk0LCAuLi5sYXllckNhdGVnb3J5NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hcmtlcnNUb1Nob3cgPSBbLi4ubmV3IFNldChsYXllcnNUb0Rpc3BsYXkpXTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXJrZXJzVG9TaG93Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG0gPSBtYXJrZXJzVG9TaG93W2ldOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG0uc2llZ2UpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5hZGRUbyhtYWluTWFya2Vycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLmRhdGEuc2V0WkluZGV4T2Zmc2V0KDEwMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS5kYXRhLnNldEljb24oY3JlYXRlTWFpbk1hcmtlcigpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5hZGRUbyhtYXJrZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0uZGF0YS5zZXRJY29uKGNyZWF0ZU1hcmtlcigpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBtYXJrZXJzLmdldExheWVycygpLmxlbmd0aCA+IDAgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuZml0Qm91bmRzKG1hcmtlcnMuZ2V0Qm91bmRzKCksIHsgcGFkZGluZzogWyAxMCwgMTAgXSB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtYWluTWFya2Vycy5nZXRMYXllcnMoKVswXSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNldFZpZXcobWFpbk1hcmtlcnMuZ2V0TGF5ZXJzKClbMF0uZ2V0TGF0TG5nKCksIDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2V0VmlldyhbNDYuNSwgMi4zNDU0OTIzXSwgMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEludGVyYWN0aW9uIHJ1bGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnNjcm9sbFdoZWVsWm9vbS5kaXNhYmxlKCk7IC8vIERpc2FibGUgc2Nyb2xsIGludGVyYWN0aW9uIGF0IGZpcnN0CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCAoZSkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2Nyb2xsV2hlZWxab29tLmVuYWJsZSgpOyAvLyBSZWVuYWJsZSBzY3JvbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuc2Nyb2xsV2hlZWxab29tLmRpc2FibGUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwUmVmLmFkZEV2ZW50TGlzdGVuZXIoJ29uLW1hcmtlci1pbnRlcmFjdCcsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNpdGVEZXRhaWxzKGUuZGV0YWlsKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaGlkZURldGFpbHNFdmVudHMgPSBbJ2NsaWNrJywgJ21vdmVzdGFydCddCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZURldGFpbHNFdmVudHMuZm9yRWFjaChlID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmFkZEV2ZW50TGlzdGVuZXIoZSwgKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gIkVzY2FwZSIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVTaXRlRGV0YWlscygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBjcmVhdGVNYXJrZXIoY2xhc3NOYW1lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMLmljb24oewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uVXJsOiAnaHR0cHM6Ly9nZXJzLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1zZWNvbmRhcnktZmlsbGVkLndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZTogWzE4LCAyM10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd1VybDogJ2h0dHBzOi8vZ2Vycy5jaWRmZi5pbmZvL3dwLWNvbnRlbnQvdGhlbWVzL2NpZGZmLXdwL2Fzc2V0cy9pbWFnZXMvd2VicC9pY29uLXBpbnMtZmlsbGVkLXNoYWRvdy53ZWJwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93U2l6ZTogWzI1LCAyNV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd0FuY2hvcjogWzQsIDE1XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZU1haW5NYXJrZXIoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBMLmljb24oewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uVXJsOiAnaHR0cHM6Ly9nZXJzLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQud2VicCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25TaXplOiBbMjgsIDMzXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93VXJsOiAnaHR0cHM6Ly9nZXJzLmNpZGZmLmluZm8vd3AtY29udGVudC90aGVtZXMvY2lkZmYtd3AvYXNzZXRzL2ltYWdlcy93ZWJwL2ljb24tcGlucy1maWxsZWQtc2hhZG93LndlYnAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dTaXplOiBbMzAsIDMwXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZG93QW5jaG9yOiBbNCwgMTZdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2V0U2l0ZURldGFpbHMoZGF0YSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dTaXRlRGV0YWlscygpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VlTW9yZUtleSA9IGRhdGEuc2llZ2UgPyBgJHtuZXcgU3RyaW5nKGRhdGEubm9tKS5yZXBsYWNlKC9cXHxcLHxccy9naSwgJy0nKS50b0xvd2VyQ2FzZSgpfS0ke2RhdGEuaWR9YCA6IGAke2RhdGEubm9tX3NsdWd9LSR7ZGF0YS5pZH1gCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNldCBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRpdGxlJ10iKS5pbm5lckhUTUwgPSBkYXRhLm5vbTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtc2VlLW1vcmUnXSIpLmhyZWYgPSBgaHR0cHM6Ly9nZXJzLmNpZGZmLmluZm8vbGlzdGUtZGVzLXBlcm1hbmVuY2VzLz9kZXBhcnRlbWVudD0ke2RhdGEuZGVwYXJ0ZW1lbnR9JmNlbnRyZS1pZD0ke3NlZU1vcmVLZXl9YDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuaG9yYWlyZXMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWhvdXJzLXdyYXBwZXInXSIpLnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1ob3VycyddIikuaW5uZXJIVE1MID0gZGF0YS5ob3JhaXJlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtaG91cnMtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1sb2NhdGlvbiddIikuaW5uZXJIVE1MID0gYCR7ZGF0YS5hZHJlc3NlfSwgJHtkYXRhLmNwfSAke2RhdGEudmlsbGV9YDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEudGVsZXBob25lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS10ZWwtd3JhcHBlciddIikuc3R5bGUuZGlzcGxheSA9ICdmbGV4JzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRlbCddIikuaW5uZXJIVE1MID0gZGF0YS50ZWxlcGhvbmU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLXRlbC13cmFwcGVyJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmUxIHx8IGRhdGEuYWNjZXNfZHJvaXQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTEnXSIpLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0xJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuY2FkcmUyIHx8IGRhdGEuZW1wbG9pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYucXVlcnlTZWxlY3RvcigiW3JlZj0nc2l0ZS1jYWRyZS0yJ10iKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMiddIikuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmNhZHJlMyB8fCBkYXRhLnZpb2xlbmNlcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtMyddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTMnXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5jYWRyZTQgfHwgZGF0YS5wYXJlbnRhbGl0ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLnF1ZXJ5U2VsZWN0b3IoIltyZWY9J3NpdGUtY2FkcmUtNCddIikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwRGV0YWlsc1JlZi5xdWVyeVNlbGVjdG9yKCJbcmVmPSdzaXRlLWNhZHJlLTQnXSIpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGhpZGVTaXRlRGV0YWlscygpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBEZXRhaWxzUmVmLmNsYXNzTGlzdC5yZW1vdmUoJ2FjdGl2ZScpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2hvd1NpdGVEZXRhaWxzKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcERldGFpbHNSZWYuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiByZXNldE1hcExheW91dCgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWRlU2l0ZURldGFpbHMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAub2ZmKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbi1tYXAtcmVmcmVzaCIsIChlKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXRNYXBMYXlvdXQoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhc3RDYXRlZ29yaWVzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhc3QtZmlsdGVyLWNhdGVnb3JpZXMnKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxhc3RDYXRlZ29yaWVzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RDYXRlZ29yaWVzID0gSlNPTi5wYXJzZShsYXN0Q2F0ZWdvcmllcykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdE1hcChsYXN0Q2F0ZWdvcmllcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRNYXAoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbi1jYXRlZ29yeS1maWx0ZXItY2hhbmdlIiwgKGUpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZENhdGVnb3JpZXMgPSBlLmRldGFpbDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlkZVNpdGVEZXRhaWxzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLm9mZigpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0TWFwKHNlbGVjdGVkQ2F0ZWdvcmllcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAg","details":["keydown"]}],"cookies":[],"software":[],"platforms":[{"id":1933,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","kind":"cms","name":"WordPress","evidence":"/wp-content/cache/autoptimize/autoptimize_single_64ac31699f5326cb3c76122498b76f66.php?ver=6.1.4","source":"path"}],"offeredLanguages":[],"resources":[{"id":33528,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","party":"first","kind":"image","requests":42,"bytes":3580351},{"id":33529,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","party":"third","kind":"image","requests":9,"bytes":525393},{"id":33530,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","party":"third","kind":"script","requests":4,"bytes":182110},{"id":33531,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","party":"first","kind":"font","requests":12,"bytes":172599},{"id":33532,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","party":"first","kind":"script","requests":29,"bytes":120076},{"id":33533,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","party":"first","kind":"style","requests":13,"bytes":56697},{"id":33534,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","party":"first","kind":"document","requests":3,"bytes":35655},{"id":33535,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","party":"third","kind":"style","requests":3,"bytes":11805},{"id":33536,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","party":"first","kind":"data","requests":1,"bytes":1908}],"dependencies":[],"pixels":[],"headers":[{"id":8942,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","name":"content-security-policy","value":"frame-ancestors 'self';"},{"id":8943,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","name":"server","value":"Apache"},{"id":8944,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","name":"x-content-type-options","value":"nosniff"}],"identifiers":[],"domain":{"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","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-08-04T07:03:40.000Z","tlsValidTo":"2026-11-02T07:03:39.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-22T00:18:01.379Z","mailProvider":"OVHcloud","dnsProvider":"OVHcloud","tlsAuthority":"Let's Encrypt (ISRG)","tlsAuthorityCountry":"US"},"dns":[{"id":23044,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","kind":"mx","value":"mx4.mail.ovh.net","rank":1,"cnameTarget":null,"provider":"OVHcloud"},{"id":23045,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","kind":"mx","value":"mx3.mail.ovh.net","rank":10,"cnameTarget":null,"provider":"OVHcloud"},{"id":23046,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","kind":"mx","value":"mail.nexylan.net","rank":0,"cnameTarget":"lba-sov.soverin.net","provider":null},{"id":23047,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","kind":"ns","value":"ns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"},{"id":23048,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","kind":"ns","value":"dns14.ovh.net","rank":null,"cnameTarget":null,"provider":"OVHcloud"}],"adsPartners":[],"blocklists":[{"id":33101,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","resolver":"Quad9","resolverIp":"9.9.9.9","kind":"security","verdict":"allowed","note":null},{"id":33102,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","resolver":"CleanBrowsing Security","resolverIp":"185.228.168.9","kind":"security","verdict":"allowed","note":null},{"id":33103,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","resolver":"Comodo Secure","resolverIp":"8.26.56.26","kind":"security","verdict":"allowed","note":null},{"id":33104,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","resolver":"OpenDNS","resolverIp":"208.67.222.222","kind":"security","verdict":"unknown","note":"EREFUSED"},{"id":33105,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","resolver":"AdGuard","resolverIp":"94.140.14.14","kind":"ads","verdict":"allowed","note":null},{"id":33106,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","resolver":"AdGuard Famille","resolverIp":"94.140.14.15","kind":"family","verdict":"allowed","note":null},{"id":33107,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","resolver":"Cloudflare Famille","resolverIp":"1.1.1.3","kind":"family","verdict":"allowed","note":null},{"id":33108,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","resolver":"CleanBrowsing Famille","resolverIp":"185.228.168.168","kind":"family","verdict":"allowed","note":null},{"id":33109,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","resolver":"CleanBrowsing Adulte","resolverIp":"185.228.168.10","kind":"family","verdict":"allowed","note":null},{"id":33110,"scanId":"48c9bec1-817e-4a8e-9382-08df8e0ec47e","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}}